Skip to content

Commit

Permalink
Updates to user's manual and some function headers, and other small c…
Browse files Browse the repository at this point in the history
…hanges for v0.2.0 release.
  • Loading branch information
mdenbina committed Jul 21, 2017
1 parent cd1246d commit 384d6ee
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 19 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Change Log


## Unreleased
## v0.2.0 - 2017-06-13
### Added
- Added scripts demonstrating how the released AfriSAR products for Pongara National Park, Gabon and Lope National Park, Gabon were created. These scripts are "afrisar_pongara.py" and "afrisar_lope.py" in the /scripts folder. The previous example processing script has also been updated, and is now called "basic_example.py".
- Added kapok.rvog.rvogblselect(), a function which performs baseline selection using a number of different possible baseline ranking criteria. This allows incoherent multi-baseline forest height inversion. kapok.Scene.inv() will perform this multi-baseline forest height estimation if the "bl" keyword argument is set to either 'all' (to invert all baselines), or to a list of selected baseline indices. See help(kapok.Scene.inv) for more details, and help(kapok.rvog.rvogblselect) for details on the baseline ranking criteria that are currently available. Also added "minkz" keyword to kapok.Scene.inv() which sets the minimum kz value. For multi-baseline inversions, baselines with kz below this value will be excluded. For single-baseline inversions, the inversion will still be performed if kz is below this value, but a warning will be printed.
Expand All @@ -22,6 +22,6 @@
- Fixed bug in handling of matrix regularization (reg keyword argument) for function kapok.cohopt.pdopt().


## v0.1.0 - 2015-11-14
## v0.1.0 - 2016-11-14
### Added
- Initial software version. Contains modules for UAVSAR data import, coherence optimization, data visualization, coherence region plotting, ground topography estimation using standard line fit procedure, RVoG forest model inversion, sinc function forest model inversion, and geocoding of output products. See user's manual and install guide in /docs folder.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ If you use this software in a published work, please cite it using the following

For reference, also see the following journal articles for PolInSAR forest height estimation results using this software:

M. Simard and M. Denbina, "Forest Canopy Height Estimation with Airborne Repeat-Pass L-Band Polarimetric SAR Interferometry in North American Temperate and Boreal Forests," IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, Submitted, 2017.
M. Simard and M. Denbina, "An Assessment of Temporal Decorrelation Compensation Methods for Forest Canopy Height Estimation Using Airborne L-Band Same-Day Repeat-Pass Polarimetric SAR Interferometry," IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, Submitted, 2017.

M. Denbina and M. Simard, "The effects of topography on forest height and structure estimation from PolInSAR," IEEE Transactions on Geoscience and Remote Sensing, Submitted, 2017.
M. Denbina and M. Simard, "The Effects of Topography on Forest Height and Structure Estimation from PolInSAR," IEEE Transactions on Geoscience and Remote Sensing, Submitted, 2017.

This library is dependent on the following open source software libraries:

Expand Down
Binary file removed docs/install_guide_mac.docx
Binary file not shown.
Binary file removed docs/install_guide_windows.pdf
Binary file not shown.
Binary file modified docs/manual.pdf
100755 → 100644
Binary file not shown.
37 changes: 23 additions & 14 deletions kapok/kapok.py
Original file line number Diff line number Diff line change
Expand Up @@ -1100,16 +1100,23 @@ def coh(self, pol=0, polb=None, bl=0, pix=None, bounds=None, **kwargs):
pix (int): If you only wish to calculate the coherence for a
single pixel, specify a tuple with the (azimuth,range) indices
of the pixel here.
bounds (int): If you only wish to calculate the coherence for
bounds (tuple): If you only wish to calculate the coherence for
a subset of the data, specify the subset boundaries in the
form: (azmin,azmax,rngmin,rngmax). Note: This keyword
overrides the pix keyword, if both are given.
form: (azmin,azmax,rngmin,rngmax). If bounds has only
two elements, it will be assumed to be (azmin,azmax), with
the returned data spanning the full width of the swath.
Note: This keyword overrides the pix keyword, if both
are given.
**kwargs: Extra keyword arguments.
Returns:
coh (array): A complex coherence image.
"""
if bounds is not None:
if len(bounds) == 2:
bounds = (bounds[0], bounds[1], 0, self.dim[1])

if polb is None:
polb = pol

Expand Down Expand Up @@ -1393,19 +1400,21 @@ def geo(self, data, outfile, outformat='ENVI', resampling='pyresample',


def ingest(self, file, name, attrname=None, attrunits='', overwrite=False):
"""Ingest ancillary data into Kapok HDF5 file.
"""Ingest ancillary raster data in the WGS84 Geographic coordinate
system, reproject into radar coordinates, and save in the Kapok
HDF5 file.
Allows the user to import ancillary raster data in ENVI format such as
lidar, external DEMs, etc. This external raster data will be
resampled to the radar coordinates using bilinear interpolation,
Allows the user to import ancillary raster data in ENVI format
such as lidar, external DEMs, etc. This external raster data will
be resampled to the radar coordinates using bilinear interpolation,
then saved to the HDF5 file as datasets with the same dimensions as
the radar data. The ingested data can then be compared to the
radar-derived products or used in guided inversion functions, etc.
Data will be stored in the HDF5 file under 'ancillary/<name>', where
<name> is the string given in the name argument to this function.
N.B. The data to import should be in ENVI format, in WGS84 Geographic
N.B. The data to import must be in WGS84 Geographic
(latitude, longitude) coordinates.
Arguments:
Expand All @@ -1414,13 +1423,13 @@ def ingest(self, file, name, attrname=None, attrunits='', overwrite=False):
name (str): Name of the HDF5 dataset which will be created to
store the ingested data.
attrname (str): Name which will be put into a 'name' attribute
of the dataset. Will be shown when displaying the data using
Scene.show(), etc. Default: Same as name.
attrunits (str): Units of the data. Will be shown on plots of the
data using Scene.show(), etc.
of the dataset. Will be shown when displaying the data
using Scene.show(), etc. Default: Same as name.
attrunits (str): Units of the data. Will be shown on plots of
the data using Scene.show(), etc.
overwrite (bool): Set to True to overwrite an already existing
HDF5 dataset, if one already exists under the same name as the
name input argument. Default: False.
HDF5 dataset, if one already exists under the same name as
the name input argument. Default: False.
Returns:
data: A link to the newly created HDF5 dataset containing the
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
name='Kapok',
version='0.2.0',

description='A python library for PolInSAR forest height estimation using UAVSAR data.',
description='A Python library for PolInSAR forest height estimation using UAVSAR data.',
long_description=long_description,
url='https://github.com/mdenbina/kapok',

Expand Down

0 comments on commit 384d6ee

Please sign in to comment.