Welcome to the RSCL
The Remote Sensing Code Library (RSCL) is a free online registry of software codes of interest to remote sensing scientists and engineers. The RSCL is indexed by IEEE and is citable by using the DOI assigned to each code. The DOI can be used to link to the code entry by prefacing the number with https://doi.org (i.e., https://doi.org/10.21982/M8QP4B).
Message to Code Contributors: By submitting your code to RSCL or making it available for execution on your own server, you contribute to the advancement of remote sensing research and applications. In return, when other researchers use your code, they are expected to cite it, thereby contributing to your citation index.
Message to Code Users: When you use an RSCL code in support of your research, please make sure that you cite it in all publications that utilized that code. Below is a suggested citation format:
Author1_last, Author1_first, Author2_last, Author2_first, ... "The title of the code," RSCL:12245, June, 2017.
_target:] Pansharpening Toolbox
Vivone, Gemine; Alparone, Luciano; Chanussot, Jocelyn; Dalla Mura, Mauro; Garzelli, Andrea; Restaino, Rocco
A MATLAB toolbox is made available to the pansharpening community. Pansharpening aims at fusing a multispectral and a panchromatic image, featuring the result of the processing with the spectral resolution of the former and the spatial resolution of the latter. This toolbox consists of several implementations of pansharpening approaches belonging to the state-of-the-art of the component substitution and the multiresolution analysis families. Moreover, the two main protocols for the quality assessment of pansharpening results, i.e., based on the full- and reduced-resolution validations, have been implemented. This software is freely available and can be used for reproducible research.
From a Circulation and Wave model, data are interpolated on the sensor geometry to compute l2a and l2b products. Inputs data must contain at least coordinates (lon, lat) and ocean surface currents (eastward and northward components) in netCDF4 format . To compute the error budget correlated to the current, the following variables are required: mean square slope (in both direction), significant wave height, wind (eastward and northward component), stokes drift (eastward and northward) ice if there is any, rain and sea surface height for nadir altimeter
Eroglu, Orhan; Boyd, Dylan; Kurum, Mehmet
SCoBi is a bistatic radar simulator. Inputs are: 1- Transmitter (frequency, range, EIRP, polarization, orientation) 2- Receiver (frequency, range, gain, altitude, polarization, orientation, antenna pattern) 3- Ground (Layer structure, texture, dielectric permittivity model) 4- Configuration (soil moisture, surface roughness) 5- Vegetation (scatterer types and distribution statistics)
[DOI: 10.21982/M8M05W] RelDielConst_Vegetation.m
Input: Microwave frequency, vegetation moisture content Output: Real part of dielectric, imaginary part of dielectric
[DOI: 10.21982/M8QP8V] PRISM1_InverseModel.m
Ulaby, Fawwaz; Oh, Yisok; Sarabandi, Kamal
Input: Microwave frequency, incidence angle, polarization, rms height, moisture content. Output: Radar backscattering coefficient
[DOI: 10.21982/M8VH1Q] RelDielConst_WetSnow.m
Ulaby, Fawwaz; Hallikainen, Martti
The code computes the real and imaginary parts of the dielectric constant of wet snow at microwave frequencies. Input: frequency and % wetness, Output: Real part of dielectric, imaging part of dielectric.
_target:] Automatic Morphological Attribute Profiles
-------------------------Manual thresholds---------------------------- PROFILE = MORPHOLOGICAL_ATTRIBUTE_PROFILE(I, T, A, MET, L) PROFILE = MORPHOLOGICAL_ATTRIBUTE_PROFILE(I, T, A, MET, L, F) PROFILE = MORPHOLOGICAL_ATTRIBUTE_PROFILE(I, T, A, MET, L, F, P) -------------------------Automatic thresholds------------------------- [PROFILE SL] = MORPHOLOGICAL_ATTRIBUTE_PROFILE(I, T, A, MET, M ,S) [PROFILE SL] = MORPHOLOGICAL_ATTRIBUTE_PROFILE(I, T, A, MET, M ,S, F) [PROFILE SL] = MORPHOLOGICAL_ATTRIBUTE_PROFILE(I, T, A, MET, M ,S, F, P) INPUT ***************************Mandatory parameters************************** I: 2D input image. Data type supported: uint8, uint16. T: Tree representation. String. Trees supported: Min-tree: 'min-tree'; Max-tree: 'max_tree'; Tree of shapes: 'ToS'; A: Attribute type. String. Attribute supported: Area: 'a', 'area'; Length of the diagonal of the bounding box: 'd', 'diagonal'; Moment of inertia: 'i', 'inertia'; Standard deviation: 's', 'std'. MET: Method for selecting the thresholds. String. Either 'manual' or 'automatic' -------------------------MET='manual'---------------------------- L: Values of lambda. Array of double. -------------------------MET='automatic'------------------------- M: Measure. String. Measure supported: Sum of the gray levels: 'grayvalues'; Sum of the number of pixels: 'pixels'; Sum of the number of regions: 'regions'; S: Strategy. Either String ('error') or Scalar (>0) . N: Answer of the decison. Scalar. ***************************Optional parameters************************** F: Filtering rule. String. Rules supported: Min: 'min'; Max: 'max'; Direct: 'direct'(default for attributes 'a', 'd'). Sub: 'sub' (default for attributes 'i', 's'). P: Print on screen. String. Either 'off' (default) or 'on'. OUTPUT PROFILE: Array of 2D images of the same data type of the input image. If 'min-tree' then PROFILE = Thickening profile ; If 'max_tree' then PROFILE = Thinning profile ; If 'ToS' then PROFILE = Self-dual profile ; SL: Selected values of lambda. Array of double.
_target:] Iterative InSAR Phase Filter
Mestre-Quereda, Alejandro; Lopez-Sanchez, Juan M.; Selva, Jesus; Gonzalez, Pablo
The main function "Iterative2DChebPolynomialsFilter.pro" performs the filtering operation. Inputs: - interferogram: the phase (complex signal) to be filtered. - win_max, win_min: maximum and minimum window size - master_img, slave_img: Master & Slave images used to form the interferogram. - flag_sim: boolean flag (0/1) to check if input is a real (0) or a simulation (1). - quality_thresh: quality threshold allowing the filter to proceed. It is used for accelerating the algorithm. The larger the value, the faster the execution (for instance, 0.05). - multilook_size: the number of samples used for coherence estimation ([5,5], [7,7] ...) Output: - filtered_interferogram_out: filtered interferogram.
[DOI: 10.21982/M84W78] FLS Large-Scale Single-Baseline Phase Unwrapping Algorithm
Yu, Hanwen; Lan, Yang
This is the serial C code for the FLS large-scale single-baseline phase unwrapping algorithm. For the detailed information about the input, output and parameters of this program, please refer to the yu.cfg and readme files in the code.
_target:] PyINT: Python&GAMMA based interferometry toolbox
Single or time-series of interferograms processing based on python and GAMMA for all of the present SAR datasets. 1) Sentinel-1: start from data-download to time-series interferograms 2) other: start from SLC datasets to time-series interferograms Input: 1) S1: tracks, frames, sub-swathes, sub-bursts, start-date, end-date, subset-area, baseline threshold 2) other SAR data: SLC datasets, start-date, end-date, subset region, baseline-threshold. Output: time-series of coregistrated interferogram files: include coherence, wrappedIfgram , unwrapIfgram, and geometry file (dem and lookup-table).
Tools to predict missing values in satellite data and to develop new gap-fill algorithms. The methods are tailored to data (images) observed at equally-spaced points in time. The package is illustrated with MODIS NDVI data. see: https://cran.r-project.org/web/packages/gapfill/gapfill.pdf
[DOI: 10.21982/M8192K] GRMDM_O
Muzalevskiy, Konstantin; Fomin, Sergey; Mironov, Valery
The function calculates the complex dielectric permittivity (es) of the soil with an organic matter content (m0) from 35% to 80% in the range of soil temperature (Ts) from -30C to +25C at frequency equal to 1.4GHz (rd is a soil dry bulk density in g/cm^3). To develop the dielectric model, four soil samples were taken from the Yamal peninsula and the North Slope of Alaska. The program was writen based on article: S. V. Fomin, V.L. Mironov, I.V. Savin, L.G. Kosolapova "Dielectric model of melted and frozen organic soils at 1.4 GHz frequency," Izvestiya Vuzov. Physics. 2017. No 12/2. pp. 121-125. (in Russian). Input parameters: Organic matter content, Soil moisture, Dry bulk density, Soil temperature. Output parameter: Complex permittivity
[DOI: 10.21982/M8J91V] Matlab CMOD5 Model Function and Compass Simulation Code
Code package includes a Matlab implementation of the CMOD5 geophysical function relating V-polarization C-band backscatter to wind speed and direction as a function of incidence angle and antenna beam azimuth angle, as well as code to implement a simple wind retrieval scheme to estimate wind from multiple backscatter measurements. A compass simulation for both the fan-beam and scanning pencil-beam satellite measurement schemes are included.
[DOI: 10.21982/M8P35J] Matlab NSCAT1 Tabular Model Function Evaluation Code
Evaluate and plot tabular NSCAT1 geophysical model function relating dual-pol Ku-band (14 GHz) backscatter to wind speed and direction for different incidence angles and antenna azimuth (relative to north). Directions are specified in oceanographic convention (mass flow) relative to north.
[DOI: 10.21982/M8XK92] Full SeaWinds Slice Spatial Resolution Function
Imaging applications of SeaWinds on QuikSCAT and ADEOS II are acilitated by applying reconstruction and resolution enhancement algorithms to produce high resolution images of the surface normalized radar cross section (sigma-0). Such algorithms require a description of the spatial response function (SRF) of the measurements. The pencil-beam design of SeaWinds, coupled with the onboard processing, results in a spatial response function with varies significantly between measurements and is a function of orbit and antenna position. The computational complexity of the SeaWinds spatial response function requires that a method of parameters for effective use. This code interpolates two precomputed files to efficiently evaluate a 2d polynomial parameterized full SRF for individual slice measurements as a function of orbit position, antenna rotation angle, and polarization. Fortran, C, and some Matlab versions of the code are available along with required binary parameter files.
[DOI: 10.21982/M82904] Parameterized ASCAT SZO Spatial Response Function
Long, David; Lindsley, Richard; Anderson, Craig; Figa-Saldaña, Julia
Software for computing BYU's parameterized spatial response function (SRF) for SZF scatterometer backscatter measurements collected by the European Space Agency (ESA) Advanced Scatterometer (ASCAT) on Metop spacecraft series. Includes a test program. Code is written in C but is designed to able to be used with fortran. The parameterization enables efficient computation of the SRF function for individual SZO ASCAT measurements as described and validated in the referenced paper.
[DOI: 10.21982/M8SS5C] CASIE-09 microASAR Processor Demo
Matlab code that implements synthetic aperture (SAR) stripmap processing using the range-Doppler algorithm and spatial-domain backprojection to create backscatter images. The code includes sample raw LFM-CW SAR data of sea ice collected in July 2009 by the C-band microASAR as part of the Characterization of Arctic Sea Ice Experiment 2009 (CASIE-09) conducted north of Svalbard Island.
[DOI: 10.21982/M8DK9D] Tabularized SeaWinds Spatial Response Function
Precise computing the SeaWinds spatial response function (SRF) is complicated and requires significant computation detailed knowledge of the orbit geometry and instrument processing. This code computes an approximate SRF for SeaWinds based on precomputed tables. The SRF is computed as a function orbit position, antenna rotation angle, and polarization. The full footprint "egg" SRF is approximated by a 2d polynomial while the "slice" SRF is approximated by a shaped boxcar. Details are given in the referenced paper.
[DOI: 10.21982/M89S51] TSPA Multi-baseline Phase Unwrapping Method
Lan, Yang; Yu, Hanwen
This is the serial MATLAB code for the TSPA multi-baseline phase unwrapping method.There are three unwrapping models can be chosen. Ten interferograms with different normal baseline lengths can be simultaneously processed by this code at most. For the detailed information about the input, output and parameters of this code, please refer to the config.m and readme files in the code.
[DOI: 10.21982/M8661Q] DMRT_QMS
Tsang, Leung; Tan, Shurun; Zhu, Jiyue
DMRT-QMS (QCA Mie scattering of Sticky spheres) v0.1 The code supports both active and passive remote sensing of layered snowpack. It is an implementation of the dense media radiative transfer theory, applying the scattering model of QCA Mie of densely packed Sticky spheres. The radiative transfer equation is solved using the discrete ordinate method by eigen-quadrature analysis. Ground roughness is partially taken into account for the emissivity in passive remote sensing and backscatter in active remote sensing. In the snowpack description file, each row describes one snow layer, starting from top, going downwards. Each row contains five columns, specifying the layer_thickness (cm), density (gm/cc), temperature (K), grain_diameter (cm), and stickiness, respectively.
_target:] LIBERTY(Leaf Incorporating Biochemistry Exhibiting Reflectance and Transmittance Yields)
Yang, Xiguang; Yu, Ying; Dawson, Terence P.
LIBERTY (Leaf Incorporating Biochemistry Exhibiting Reflectance and Transmittance Yields) is a conifer leaf reflectance simulation model based on radiative transfer theory. LIBERTY provides a simulation of reflectance and transmittance of single leaf and quasi-infinite leaf (stacked leaves) at 400-2500nm. The matlab version was compiled based on the publication of Pro. T. P. Dawson on 1998. The inputs include leaf structure and biochemical parameters. The outputs of the model include reflectance of single leaf and quasi-infinite leaf and transmittance. A user manual is provided, which contains the detailed description of input/output parameters. A GUI interface make this program easy to operate.
[DOI: 10.21982/M8M92V] ISAR rapidly Spinning Targets 3D imaging
a novel 3-D imaging algorithm for rapidly spinning targets based on target motion features. In this algorithm, a series of 2-D image slices are generated based on the output of the matched filter bank. Then, the image slices are combined to form a 3-D target image. "I would like to point something about this code: To get the final result, first you should run the function Data_Produce to generate the simulation data. Then load the simulation data to make match filter for three z coordinate respecticely. Finally,load the match filter result and plot the 3D image.
[DOI: 10.21982/M8S042] MTRC compensation
Effective methods for coherent processing and Migration Through Range Cell(MTRC) compensation after translational motion compensation in ISAR imaging. Available signal processing methods are Keystone Transformation and Dechirp Clean. "I would like to point one thing about this code: 1)Before you run the main function, run the function Data_Produce to ensure that the simulation data has been produced.
[DOI: 10.21982/M8S62C] Asymptotic methods for microwave scattering
Nouguier, Frederic; Chapron, Bertrand; Mouche, Alexis
Asymptotic Methods for backscattered Normalized Radar Cross Section (NRCS) and geophysical Doppler shifts (GDS) from random linear sea surfaces in the microwave regime. Available asymptotics methods are: * KA : Kirchhoff Approximation * SSA : Small Slope Approximation * GO2 : Geometrical Optics * WCA : Weighted Curvature Approximation Input parameters: * Electromagnetic frequency/wavelength * Permittivity * incidence and azimuth for ongoing EM wave * incidence and azimuth for outgoing EM wave (in bistatic case only) * Ocean spectrum * wind speed * wind direction Output parameters: * NRCS * GDS
[DOI: 10.21982/M82K7J] Single Target Calibration Technique Code
This code calibrates the measured backscatter response of a point target using the Single Target Calibration Technique (STCT). The elements of the scattering matrix of the target must be measured coherently. The code loads all necessary measured data from files and manipulates the input data before performing calibration steps. The code needs measured data for the calibration target (metallic sphere) and the measured data for the unknown target (target under test) that is intended for calibration. All in ascii format. It requires two measured data files for the cal_target (sphere). One of the files contains the measured sphere data and the 2nd file contains the measured background data (without sphere). It also requires two data files for the unknown target (or target under test) intended for calibration. One file is for measured target data and the 2nd file holds background data. All files hold the measured complex scattering matrix. Background data may be ignored, however the user must modify the code to permit this step. Additional information that must be inputted by the user are sphere size, range to sphere, range to unknown target, start and stop frequencies, and number of frequency points used. Samples of input and output data are included. main code: stct_calibr_maincode.m second. code: RCSmetallic_sphere.m Calibr. target data: cal_target_data.dat (8 inch sphere) Unknown target data: target_12inchSphere_data.dat Sample output plot: CalibratedResponse_12inchSphere.eps
[DOI: 10.21982/M81013] Line-by-line microwave radiative transfer (non-scattering)
Two main programs: one computes a downward-propagating brightness-temperature spectrum at the bottom of the atmosphere; the other computes an upward-propagating brightness-temperature spectrum over a smooth ocean surface. These programs can be run as is, or read as examples for using the subroutines in another application. The programs ask for the frequency range, angle of propagation (from vertical), and the maximum altitude at which to terminate the calculation. If the altitude is >40km, the azimuthal angle of propagation and the terrestrial magnetic field vector are also required.
[DOI: 10.21982/M8JS3F] MCC
MCC Software Package Jianfei Liu (firstname.lastname@example.org) and W.J. Emery (email@example.com) 1. MCC Motion Algorithm The Maximum Cross-correlation (MCC) method cross-correlates a template sub-window in an initial image with all possible sub-windows of the same size that fall within a larger search window of a second image. The location of the sub-window in the second image that produces the highest cross-correlation with the sub-window in the first image indicates the displacement of that feature. The velocity vector is then calculated by dividing the displacement vector by the time separation between the two images. More details are in the following paper. Reference: Emery, W.J., A.C. Thomas, M.J. Collins, W.R. Crawford and D.L. Mackas, 1986: An objective procedure to compute advection from sequential infrared satellite images. J. Geophys. Res., 91 (color issue), 12,865-12,879. 2. About the Software Package Before running this MCC Package, you need to have a good understanding of the MCC method. The input images need to be calibrated and gridded to the same geolocation. Here we use brightness temperature (BT) imagery derived from AVHRR as a test. You also can try other imagery according to your interests. But remember to make sure the imagery is well calibrated and geolocated. This package includes .sh, .csh and C/C++ codes. The main code of the MCC is motion.c. These codes successfully run under the Linux system (Red Hat Enterprise Linux Workstation). The vector generating software consists of the following software pieces: 1) motion.c: this reads a parameter file and two image files and generates an ascii vector file. The motion is driven by automotion_West (csh file). To compile do: cc motion.c -o motion -lm 2) mp--- The parameter file used by motion...this is described in more detail below. 3) runfiles--- The name of the first image and second image, time interval between them and the output name of the vectors 4) filt_nnvel.cxx: A program which reads a parameter file and filters the vector file to eliminate spurious vectors. The filt_nnvel is driven by postproc (csh file). To compile do: g++ filt_nnvel.cxx -o filt_nnvel 5) filt.in: The parameter file for filt_nnvel To generate motion vector files from ocean color or sea surface temperature images perform the following: 1) EDIT THE mp FILE EXAMPLE mp file with the parameters that we usually use: 1024,1024
[DOI: 10.21982/M8W888] Multiple Layers Single Reflections
Cardellach, Estel; Fabra, Fran
Multiple Layers Single Reflections (MLSR) is a model for L-band circularly polarized signals (such as GNSS signals) scattered off layered media. It assumes that the reflection off each layer is coherent, and that the signal splits into multiple path trajectories, each path suffering one single reflection solely. The model first computes the delay and amplitude of each reflected multi-path, taking into account the refraction and reflection angles, reflectivities and transmittivities at each interface, and attenuation along each layer. Then it sums coherently all these contributions with their corresponding amplitudes, shifting in delay and phase-delay. INPUT: layers' permittivities or parameterization (density, temperature, salinity...).
[DOI: 10.21982/M8QG61] GNSS-matlab
Matlab functions to generate GNSS codes, signals and analytical spectra. Includes example scripts, real data captures, official ICDs, and a summary on GNSS signals.
[DOI: 10.21982/M8301Q] RinexSNR
Converts the standard GPS data format (RINEX) into useable data, i.e. it computes the GPS orbits and calculates satellite azimuth and elevation angle, and Signal to Noise Ratio data from GPS sensors. It does not create soil moisture or snow depth by itself, but it will save a non-GPS expert a lot of time.
[DOI: 10.21982/M84S3Q] RSS Ocean Surface Emissivity Model
Meissner, Thomas; Wentz, Frank
1. Meissner Wentz model for the dielectric constant (permittivity) of pure and sea water. 2. Ocean surface brightness temperature for 4 Stokes parameters as function of frequency (6 – 90 GHz), earth incidence angle, sea surface temperature, wind speed and direction.
[DOI: 10.21982/M86P4P] GARCA/GEROS-SIM M2 (Instrument to L1 module) Web Online Simulation Tool
Park, Hyuk; Camps, Adriano; Pascual, Daniel; Kang, Yujin; Onrubia, Raul; Onrubia, Raul
GEROS-SIM M2 Web is the simple implementation of M2 (Instrument to L1 module) of GEROS-SIM. It is a web-based software to compute Delay-Doppler Maps of GNSS Reflectometry in arbitrary configurations (friendly to the GEROS-ISS configuration.) The simulator has inputs via GUI: Receiver satellite height, sea surface height, elevation angle at specular point, sea surface wind speed / direction, total electron contents, and beam pointing errors. After the simulation, it produces outputs: DDM, central Doppler frequency, and the other auxiliary data. A user manual is provided, which contains the detailed description of input/output parameters, and how to execute the simulation.
[DOI: 10.21982/M8BC7Z] I2EM Backscattering from Single-Scale Random Surface
This module computes the backscattering coefficient, σ0, for a given random rough surface, using the I2EM model. Various parameters of the rough surface can be specified, such as the dielectric constant ϵ = ϵ' -j ϵ'', the type of correlation function, and the parameters of the correlation function. The model is constrained to realistic surfaces with (rms height / correlation length) ≤ 0.25. ks is also constrained to be less than 1.
[DOI: 10.21982/M8G59W] Polarization Synthesis of PolSAR Images
van Zyl, Jakob
Given a polarimetric image, this module synthesizes the radar image for any specified transmit and receive polarization combination. Angles are specified by the user for both the Rotation angle (ψ) and the Ellipticity angle (χ) for both the transmit and recieve antennas. The Ellipticity angle ranges from -45o (right circular polarization) to 0o (linear polarization) to +45o (left circular polarization), while the Rotation angle ranges from -90o (horizontal polarization), to 0o (vertical polarization) to +90o (horizontal polarization). The code currently works with one image only.
[DOI: 10.21982/M8KW2D] MIMICS version1.5a
Ulaby, Fawwaz; Sarabandi, Kamal; McDonald, Kyle; Whitt, Michael; Dobson, M. Craig; Dobson, M. Craig
MIMICS is meant to simulate the radar backscatter from a forested region at frequencies in the P, L, and C bands. There are many parameters that describe the soil, the trunks, the branches and the foliage. The code using vector radiative transfer with PDFs of the canopy constituents to produce estimates of the co- and cross-polarized backscattered powers.
[DOI: 10.21982/M8QP4B] Reflection by Two-Layer Composite
Ulaby, Fawwaz; Pierce, Leland; Nashashibi, Adib
This module computes the reflection properties of a two-layer composite with planar boundaries. Medium 1 is air with ϵ1 =1. The incidence angle in medium 1, and the frequency in GHz also are inputs. The reflection coefficient and reflectivity are plotted against the thickness of the top layer, for both h and v polarizations. inputs: complex dielectric constants for 2 layers, incidence angle, frequency outputs: plots: Reflection Coefficient Magnitude vs. layer thickness, Reflectivity vs. layer thickness
[DOI: 10.21982/M8159V] Propagation Constant and Intrinsic Impedance
Pierce, Leland; Nashashibi, Adib; Ulaby, Fawwaz
Code computes attenuation and phase coefficients and intrinsic impedance of a lossy or lossless medium over a specified frequency range. inputs: complex dielectric constant outputs: plots: Attenuation coefficient vs freq, Phase coefficient vs. freq, Magnitude of intrinsic impedance vs. freq, Phase angle of intrinsic impedance vs. freq