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.

2017-11-06

[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.

2017-10-27

[DOI: 10.21982/M8GP8P] ISAR rapidly Spinning Targets 3D imaging
Mengdao, Xing
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.

2017-09-18

[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

2017-06-26

[DOI: 10.21982/M82K7J] Single Target Calibration Technique Code
Nashashibi, Adib
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

2017-05-15

[DOI: 10.21982/M81013] Line-by-line microwave radiative transfer (non-scattering)
Rosenkranz, Philip
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.

2017-05-10

[DOI: 10.21982/M8JS3F] MCC
Emery, William
MCC Software Package Jianfei Liu (jfliu@whu.edu.cn) and W.J. Emery (emery@colorado.edu) 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 , (image size) 22,22 , (template window) 22 (search window) 0, 0 , 0, 0 , 11 2400, 3200 , (cloud filter) 12.5

2017-04-06

[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...).

2017-03-14

[DOI: 10.21982/M8QG61] GNSS-matlab
Pascual, Daniel
Matlab functions to generate GNSS codes, signals and analytical spectra. Includes example scripts, real data captures, official ICDs, and a summary on GNSS signals.

2017-01-26

[DOI: 10.21982/M8301Q] RinexSNR
Larson, Kristine
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.

2017-01-19

[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.

2017-01-12

[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.

2016-11-02

[DOI: 10.21982/M8BC7Z] I2EM Backscattering from Single-Scale Random Surface
Fung, Adrian
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.

2016-11-02

[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.

2016-10-27

[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.

2016-10-25

[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

2016-10-25

[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