Giter Site home page Giter Site logo

svenkautlenbach / insar-on-sentinel-1-tops-data Goto Github PK

View Code? Open in Web Editor NEW

This project forked from a787854/insar-on-sentinel-1-tops-data

0.0 0.0 0.0 181 KB

GPU-accelerated InSAR processing on Sentinel-1 TOPS data

License: Eclipse Public License 2.0

C++ 43.65% Cuda 55.92% CMake 0.44%

insar-on-sentinel-1-tops-data's Introduction

InSAR-on-Sentinel-1-TOPS-data

This code is developed under Visual Studio 2013 and CUDA toolkit 8.0. The software makes use of Graphic Processing Unit to perform Geometric coregistration, resampling, ESD and Coherence Estimation on Sentinel-1 TOPS data.

This software dependents on two libraries:

1.TinyXml2:

Please find it at:https://github.com/leethomason/tinyxml2

2.GDAL.

Platform:

It is suggested to use the GPUs with powerful double floating computing (compute capability>=3.0). Otherwise, the accuracy of coregistration is not guaranteed. To achieve a better performance, the driver mode of GPU should be set as TCC mode.

Our testing platform: GPU: Nvidia GTX Titan black CPU:Intel I7-6700K

Config File:

process_dir= Current Working Directory

masterpath=The Path to the Master Image

slavepath=The Path to the Slave Image

preciseOrbitMaster=The Path to the Master Precise Orbit File

preciseOrbitSlave=The Path to the Slave Precise Orbit File

SpecificDemPath=The Path to DEM File (Tiff format only)

burst0=The Start Burst

burstN=The Stop Burst

firstsubswath=The Start Proccesing Subswath

lastsubswath=The End Proccesing Subswath

polarisation=Specific polarisation types

Research Paper: "GPU accelerated interferometric SAR processing for Sentinel-1 TOPS data" (2019), Computers and Geosciences, Doi: https://doi.org/10.1016/j.cageo.2019.04.010.

How to compile this file:

Regarding my environment, I used the VS2017 as the IDE and CUDA 10.1 as the GPU toolkit to compile the all codes (VS2013 and CUDA 8.0 also works).

Here are the steps which should be noted in compilation:

  1. Create a new empty win console application project (without pre-compiled header).

  2. add all the source code files and two additional files tinyxml2.cpp and tinyxml2.h (from library TinyXml2)

  3. Link the CUDA toolkit to the project: right click the project-> build customization->click CUDA toolkit.

  4. Specify all the .cu files as the CUDA C/C++ files, so these files can be included into the compilation.

  5. Set the include directories (include TinyXml2 and GDAL libraries), and lib directories (include GDAL libs).

  6. link to the GDAL libraries and also to CUDA libraries (cudart.lib; cusolver.lib; cublas.lib).

  7. Project -> Properties -> Configuration Properties -> CUDA C/C++ -> Device -> Code Generation -> compute_35, sm_35 (higher than 35, and choose an appropriate option according to your card’s compute capability);

  8. Note : "This function or variable may be unsafe. Consider using sprintf_s instead", please include this two lines in the Pre-processor Definitions : _CRT_SECURE_NO_WARNINGS , _CRT_NONSTDC_NO_DEPRECATE.

If you meet some specific problems, please contact me!

Contact: [email protected]

insar-on-sentinel-1-tops-data's People

Contributors

a787854 avatar kautlenbachs avatar

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.