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