Commit Graph

45 Commits (LT1AB)

Author SHA1 Message Date
Ryan Burns 9457a34b4b PyCuAmpcor: Fix Makefile for standalone installation
Now working with .cpp files and pybind11 module

setup.py step no longer needed
2022-11-15 14:18:21 -08:00
Ryan Burns ca462283f3 PyCuAmpcor: compile files as pure C++ when possible
This speeds up compilation, and brings it closer in line with the CPU port
2022-11-15 14:15:46 -08:00
Ryan Burns 07dc9a6687 Merge similar cuArraysCopy helpers using templates
This is to ease C++-only conversion of the cuArraysCopy kernels
by reducing code duplication
2022-10-04 16:52:19 -07:00
Zhang Yunjun 2bb3f0805d
fixImageXml: support multiple files w/ wildcards (#439)
* topsApp.xml: add downsample_snaphu

* stackSentinel: bugfix if --bbox not specified in cmd

* stack*/unwrap: print time used msg

+ print out the time used message using time.time()
+ remove unused module imports
+ indentation adjustment

* cuDenseOffsets: add --fix-image-vrt

* fixImageXml: support multiple files w/ wildcards
2022-06-10 13:19:50 -07:00
Zhang Yunjun 033e2b9cb1 cuDenseOffsets: bugfix in prepGeometry()
+ fix a bug of location shift in the input of prepGeometry()
+ add return of geomDict in estimateOffsetField() to support re-run for geometry only without --redo in cmd
+ move the redo check of cuDenseOffsets.py back the previous location, which is right before the actually running, in order to use the previous setup parameter code for geometry preparation only without re-run offset when it already exists.
+ remove size checking to be consistent with the latest version from Lijun with support of large win size
2021-11-23 22:06:27 -08:00
Lijun Zhu 5bf1eacccf PyCuAmpcor: fix scons script 2021-11-09 18:34:09 -08:00
Ryan Burns ddcd4d85b9
Merge pull request #256 from rtburns-jpl/pycuampcor-pybind11
Convert PyCuAmpcor to pybind11
2021-09-01 11:26:38 -07:00
Lijun Zhu eae30c10a8 Merge remote-tracking branch 'rtburns/pycuampcor-suggestions' into pycuampcor 2021-07-27 10:54:20 -07:00
Ryan Burns a0ce9d55cb Replace cuNormalizer holder class with unique_ptr 2021-07-19 16:53:27 -07:00
Ryan Burns 14d708863d Templatize normalization routines 2021-07-19 16:34:35 -07:00
Lijun Zhu b0641ef2f5 PyCuAmpcor: add an implementation of cuCorrNormalizationSAT to support cuda 9/10 2021-07-19 15:14:04 -07:00
Lijun Zhu 80411d38aa PyCuAmpcor: add sum_area_table based correlation surface normalization to allow arbitrary window size (used to be limited by the 1024 max cuda threads) 2021-07-19 15:14:04 -07:00
Ryan Burns a976d12c51
Merge pull request #276 from yunjunz/offset
cuDenseOffsets.prep*Geom*: supp. full-reso file w/o .full in the name
2021-06-14 15:48:21 -07:00
Lijun Zhu e24b501b5b PyCuAmpcor: add an implementation of cuCorrNormalizationSAT to support cuda 9/10 2021-05-11 15:32:47 -07:00
yunjunz a5891a8ac0 cuDenseOff*.prep*Geom*: supp. full-reso file w/o .full in the name
+ support full resolution geometry files without ".full" in the filename, such as provided by stripmapStack

+ add --fix-xml option to update the image file path in the xml file, so that IML.loadImage is not called all the time, which could lead to file access issue when multiple processes use the same SLC file
2021-04-23 16:31:49 -07:00
Lijun Zhu 7b51af405d cuda Scons fix: remove unnecessary -lcuda which prevents compiling on cluster head node without cuda drivers 2021-04-15 00:40:16 -07:00
Lijun Zhu 93ca4bf96d PyCuAmpcor: add sum_area_table based correlation surface normalization to allow arbitrary window size (used to be limited by the 1024 max cuda threads) 2021-04-13 10:08:29 -07:00
Ryan Burns 6d286b699a Add scons rules for pybind11 PyCuAmpcor 2021-03-10 12:37:18 -08:00
Ryan Burns 1d9a95eeda PyCuAmpcor: convert cython to pybind11 bindings 2021-03-10 12:37:18 -08:00
Zhang Yunjun d81a98094e cuDenseOffsets: add prepareGeometry()
PyCuAmpcor/examples/cuDenseOffsets:
+ add prepareGeometry() to generate the cooresponding geometry file
+ update file path in xml file to support dir change
+ fix str.decode bug with try/except statement
+ printout used time
+ check --redo before initiate PyCuAmpcor to avoid the long GPU memory error message

PyCuAmpcor/README.md: fix typos for ROIPAC
2021-03-05 19:16:31 -08:00
Lijun Zhu 7c40da5a74 PyCuAmpcor: offer an option to add gross offset to output offset image 2021-02-16 13:02:04 -08:00
Lijun Zhu 563568561d change runDenseOffset(s) in Alos2Proc/TopsProc in accordance with updated PyCuAmpcor 2021-02-13 12:56:58 -08:00
Lijun Zhu 86a35acd5e merge mzzhong/grossOffsets into pycuampcor: scripts to set varying offsets withe velocity model 2021-02-13 12:55:04 -08:00
Lijun Zhu 4ddee2fdaf PyCuAmpcor: fix the help string in cuDenseOffsets.py 2021-02-06 12:02:34 -08:00
Lijun Zhu 5419353a69 PyCuAmpcor: fix the correlation surface variance estimation 2021-02-06 12:02:34 -08:00
Minyan Zhong d5e5067acd update 2021-02-06 12:02:34 -08:00
Minyan Zhong 19ee850211 fix-variance-estimation 2021-02-06 12:02:34 -08:00
Lijun Zhu 7e9c86910a PyCuAmcpor: set default gpu id to 0 in cuDenseOffsets.py; the auto seek with a negative value is now disabled 2020-12-15 13:33:34 -08:00
Lijun Zhu 6d9f088975 PyCuAmpcor: cuDenseOffsets.py towork with input varying gross offsets 2020-11-30 10:30:23 -08:00
Minyan Zhong c399d3fa03 clean up and update grossOffsets 2020-11-30 00:49:28 -08:00
Lijun Zhu 94caa1ea5c PyCuAmpcor: more code cleanup
* replace tabs with spaces to align the code

  * remove extra spaces at the end of lines

  * add more docstrings
2020-11-25 12:55:38 -08:00
Lijun Zhu 38646456d3 PyCuAmpcor: code cleanup, add docstrings 2020-11-17 23:22:37 -08:00
Lijun Zhu a393282b69 PyCuAmpcor updates:
* added a README.md for installation/user guide/procedures

  * modified the cuDenseOffsets.py
     * expose more options from the CUDA/C++ program
     * add an option for varying gross offset input
     * clarify the parameter definitions

  * removed old SlcImage implementation and cublas dependence

  * modified cuSincOversampler
    * to be consistent with cpu version
    * fix an issue when the extraction of the search window is not around the center

  * added a debug mode to output intermediate results

  * enable cuda error checking for both Debug/Release build types

  * corrected the code to extract raw images when the correlation surface peak is close to edges

  * Move utf-8 decoding step inside cython extension

    The cython setters take python strings, but the getters return
    python bytes, so this makes the types match up. I went with regular
    python strings for the interface since they are more common at the
    python level, so the encoding/decoding is now an implementation detail
    of the cython extension.

Contributed by lijun99, rtburns-jpl, vbrancat, mzzhong
2020-11-12 15:02:44 -08:00
Gerald Manipon f09213eb33
various updates from ARIA-related projects (#149)
* add Dockerfile and SConfigISCE to build cuda-enabled modules

* add Dockerfile and SConfigISCE to build cuda-enabled modules

* set correct name

* update for centos7 and cuda-dev image

* restore

* disable GPUampcor

* update

* save

* sync up Dockerfile updates

* fix base image

* change docker image names

* create gpu vs. cpu specific tags

* update with nodata WBD Stitcher

* fix segmentation fault when running sciflo workflows

- remove dependencies that downgrade the `geos` conda package

* sync fix for segmentation fault to cuda builds

* ping ffi to version 1.12.2

Latest version of ffi, 1.13.0, breaks installation of fpm:
```
$ sudo gem install --no-ri --no-rdoc fpm
Fetching: cabin-0.9.0.gem (100%)
Successfully installed cabin-0.9.0
Fetching: backports-3.17.2.gem (100%)
Successfully installed backports-3.17.2
Fetching: arr-pm-0.0.10.gem (100%)
Successfully installed arr-pm-0.0.10
Fetching: clamp-1.0.1.gem (100%)
Successfully installed clamp-1.0.1
Fetching: ffi-1.13.0.gem (100%)
ERROR:  Error installing fpm:
        ffi requires Ruby version >= 2.3.
```
TODO: remove pin when ffi's backwards compatiblity is restored.

* comment out unused import

* add build circleci job to PR tests

* pin ffi in cuda build

* revert logging hackery

* fix "target_include_directories called with non-compilable target type" errors

* Keep source directory for topsStack

Co-authored-by: dustinlo <dustin.k.lo@jpl.nasa.gov>
Co-authored-by: shitong01 <stchin@ntu.edu.sg>
Co-authored-by: Ryan Burns <47790121+rtburns-jpl@users.noreply.github.com>
2020-07-16 16:08:57 -07:00
Heresh Fattahi eb3eff61a6
Merge branch 'master' into BLM 2020-07-02 15:03:10 -07:00
Paul A Rosen e03042f4e5 diversity: replaced oppressive language with neutral definitions of the images that comprise an interferogram through the entire repository 2020-07-02 12:40:49 -07:00
Zhang Yunjun c642ab2e9a cuDenseOffset: check across oversample win size 2020-06-28 19:24:09 -07:00
Zhang Yunjun 90d578fa5d cuDenseOffsets: expose --raw-osf and --corr-win-size option
contrib/PyCuAmpcor/cuDenseOffsets.py:
+ expose --raw-over-samp-factor option to change the raw data oversampling factor with default of 2
+ expose --corr-win-size option, which by default, is calculated automatically based on the search window size and raw oversampling factor
+ change the namespace key for the oversampling factor of correlation surface from 'oversample' to 'corr_oversample' to avoid ambiguity, the cmd option name is still the same, thus no different in the user side.
+ use vrt file for master / slave slc data loading folllowing https://github.com/isce-framework/isce2/pull/78
+ re-organize createParse() for readability
+ add example to argparse help

stripmapStack/MaskAndFilter.py:
+ fix a bug introduced in #https://github.com/isce-framework/isce2/pull/112
+ add example usage to help message
+ mask pixels with SNR == 0, for plotting only without touching data files
+ show input parameter in the figure title
+ show percentage after SNR thresholding
+ add interpolation for matplotlib while plotting

topsStack/grossOffsets: move obsolete basemap import from the top to the related commented code block
2020-06-28 19:24:09 -07:00
Ryan Burns ed25d657fa Update pycuampcor prereqs 2020-06-12 17:53:40 -07:00
Ryan Burns b12fde65d8 Add PyCuAmpcor support 2020-05-28 18:02:17 -07:00
Minyan Zhong 4f0a2f551c add a gpu ampcor driver 2020-05-02 15:52:31 -07:00
Lijun Zhu 4cc13950a8 PyCuAmpcor: add gdal lib to link 2020-04-09 21:01:00 -07:00
Lijun Zhu 434a71322f PyCuAmpcor: fixed #include gdal headers 2020-04-09 21:01:00 -07:00
Lijun Zhu df4db88ffa PyCuAmpcor: updated to the most recent version with gdal input 2019-11-19 16:59:49 -08:00
Eric Gurrola 9f9a2b0805 Adding all files 2019-01-16 11:40:08 -08:00