Skip to content

Commit 34e16b3

Browse files
committed
Update to Doris 5.0.3 Beta
Improved and easier installation. Includes download of data and orbits now.
1 parent 782580e commit 34e16b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2846
-2467
lines changed

LICENSE renamed to LICENSE.txt

File renamed without changes.

MANIFEST.in

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
include *.txt
2+
include install/*.xml
3+
include install/*.txt
4+
include prepare_stack/*.xml
5+
recursive-include docs *.txt
6+
include sar_tools/*
7+
include envisat_tools/*
8+
include doris_core/*
9+
include bin/*
10+
include envisat_tools/epr_api-2.2/*
11+
include envisat_tools/epr_api-2.2/src/*

README

Lines changed: 0 additions & 79 deletions
This file was deleted.

README.txt

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
===========
2+
Doris v5 Beta
3+
===========
4+
5+
The new Doris version, Doris 5, is developed to process a stack of Sentinel-1 images, as well as all the already familiar
6+
functionality of Doris 4.
7+
8+
This is a beta version. Therefore, you still may experience some problems. Please report them to us. But even better,
9+
try to fix them! We are very happy to discuss with you how you can contribute to this project!
10+
11+
The new Doris version consists of 2 parts:
12+
- The doris_core directory cantaining the Doris core code, which is similar to the original Doris code and is
13+
written in C. This code is mainly used to create individual interferograms based on different steps.
14+
- The doris_stack directory containing scripts written in Python. These scripts automate the processing of a
15+
single master stack of Sentinel-1 images. The scripts manage the processing of the bursts of a sentinel 1 image,
16+
contain algorithms specific to processing sentinel 1 images and support parallelisation of the processing of the
17+
bursts. The functionality of these scripts can be further extended to support more sensors and modes.
18+
19+
In addition, you will find a stack preparation script, to automatically download the burst you need for your Area of
20+
Interest which you defined by a shape file, automatically download the SRTM DEM associated with this area, and setup
21+
your processing structure.
22+
23+
24+
Installation
25+
===========
26+
27+
See the INSTALL file in the install directory. This file descripes the installation of the C libraries, python libraries
28+
and some utility software.
29+
30+
31+
Creating Sentinel-1 datastacks
32+
=============================
33+
34+
35+
Create a folder structure
36+
-----------------------------
37+
38+
After installing the software you can create your first doris datastack. To do so you have to prepare the following:
39+
- Create folders to download radar data and orbit files. In a further stage these files can be downloaded automatically,
40+
but it is also possible to do it yourself manually.
41+
- Create a folder where you can store intermediate DEM results. Data will be downloaded automatically, so you only have
42+
to create the folder itself. Note that these automatic downloads are based on SRTM data and are therefore limited to
43+
60 degrees south and north of the equator.
44+
- Create a .shp file with your area of interest. You can use different software packages, but ArcGIS and QGIS (free) are
45+
the most convenient for this purpose. Or you could download from one of the websites that offer free shapefiles for
46+
administrative boundaries (for example: http://www.diva-gis.org/Data)
47+
- Finally, create the folder where you want to process your datastack. Be aware that to process your data you will need
48+
at least 100 GB of free space on your disc.
49+
50+
51+
Register for Sentinel and SRTM downloads
52+
----------------------------------------
53+
54+
Additionally, you will need an account for downloading Sentinel-1 and SRTM data. You can use the following links to
55+
create an account. (How to link them to your code is described in the INSTALL file)
56+
- To register for Sentinel-1 data download use: https://scihub.copernicus.eu/dhus/#/self-registration
57+
- To register for SRTM download use: https://urs.earthdata.nasa.gov/users/new/
58+
59+
60+
Run the stack preparation script
61+
----------------------------------------
62+
63+
Move to the prepare_stack directory:
64+
cd prepare_stack
65+
Run the python script:
66+
python prepare_datastack.py
67+
68+
This code will ask you to define the different folders you created before. The script will ask you whether you want
69+
to run your code in parallel. Generally, this is recommended as it speeds up your processing speed. Note that either the
70+
number of cores and your RAM can be limiting (one process will use about 4GB of RAM). Because it is not possible to mix
71+
different orbits in one datastack it will also ask you which orbit you want to use and whether it is ascending or
72+
descending. Please check this beforehand on the ESA website (https://scihub.copernicus.eu)
73+
Finally, the code will ask you the start date, end date and master date:
74+
- start date > What is the first image (in time) you want to process?
75+
- end date > What is the last image (in time) you want to process? (Tip: This date can be in the far future if you
76+
just want to download all images till now)
77+
- master data > This image will be used as the master of your stack. Other images will be resampled
78+
to the geometry of this master image.
79+
After finishing this script, the new datastack is automatically created together with a DEM of the area. This can take
80+
a while in case the download speeds are low or your area is large.
81+
82+
83+
Editing the data stack settings (generally not needed)
84+
----------------------------------------------------
85+
86+
You can enter the folder to find, the newly created DEM, your .shp file, configuration files (inputfiles) and the stack.
87+
Further there is the doris_input.xml file where all configuration settings for your datastack are stored.
88+
This file is created in the folder where you will process your datastack. So, if you want to change this configuration
89+
afterwards, you can make some changes there.
90+
91+
92+
Processing
93+
=========================================
94+
95+
In the main folder of your datastack you will have three bash files:
96+
create_dem.sh > To create a DEM for your area. This is already done if you used the automatic DEM generation
97+
download_sentinel.sh > This will run the a download of sentinel images for the specified track over your area of
98+
interest. Only dates between your start and end date are considered. This script will also
99+
download the needed precise or restituted orbit files.
100+
You can call this scripts using bash <script_name>
101+
102+
After downloading your DEM, radar data and orbit files you can start your processing by the following command:
103+
bash doris_stack.sh
104+
105+
or, if your server uses qsub (for parallel processing)
106+
107+
qsub doris_stack.sh
108+
109+
If you want to extend your datastack later on, you can run the scripts again for the same datastack. It will check which
110+
files are new and only process them. This software is therefore perfectly fit for continues monitoring.
111+
Be sure that you do not change your master image in between, as this will break your code.
112+
113+
114+
115+
Enjoy,
116+
117+
TUDELFT RADAR GROUP 2017
118+
doris_users@tudelft.nl
File renamed without changes.

__init__.pyc

124 Bytes
Binary file not shown.

doris_stack/functions/ESD_functions.py

100644100755
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import numpy as np
22
from numpy import *
3-
from get_ramp import get_ramp, get_parameter
4-
import os, sys
3+
from doris.doris_stack.functions.get_ramp import get_ramp, get_parameter
4+
import os
55

66

77
########################################################################################################################
@@ -63,11 +63,8 @@ class set_class(object):
6363

6464
########################################################################################################################
6565
# Definition to extract data
66-
# In Matlab:
67-
# thisBurstData = freadbk(['burst' num2str(nBurst) '/cint.raw'],nofLines1,formatData1, line1, nofLines1,1,nofPixels1);
68-
# In Python:
6966
# thisBurstData = freadbk(path_file,line_start=1, pixel_start=1, nofLines=None, nofPixels=None, dt=np.dtype(np.float32), lines=0, pixels=0):
70-
def freadbk(path_file, line_start=1, pixel_start=1, nofLines=None, nofPixels=None, dt='float32', lines=0, pixels=0):
67+
def freadbk(path_file, line_start=1, pixel_start=1, nofLines=None, nofPixels=None, dt='float32', lines=0, pixels=0, memmap=True):
7168
# First use memmap to get a memory map of the full file, than extract the requested part.
7269

7370
if dt == 'cpxint16':

0 commit comments

Comments
 (0)