UNIVERSAL RTM / USER GUIDE

Universal RTM

A Visual Guide to Inputs, Models, and Outputs

Hapke and Shkuratov radiative transfer modeling (RTM) web implementation · September 2026

Terms: An endmember is a material in a mixture. SSA = single scattering albedo. OC = optical constants: real refractive index n and imaginary refractive index k.

Figure 1. Input → Major Functions → OutputSelect a function's Spectra or Images link for its input, model, and output summary in Table 1.
InputSpectra or Images

Major Functions

  • Reflectance to Abundance via SSADerive endmember abundances from reflectance through single scattering albedo (SSA) unmixing.
  • Reflectance to Abundance via OCDerive endmember abundances and particle sizes from reflectance using optical constants (OC).
  • SSA to AbundanceDerive endmember abundances by unmixing mixture SSA.
  • Reflectance to SSAConvert measured reflectance to single scattering albedo (SSA).
  • Reflectance to OCDerive optical constants from measured reflectance and known properties.
  • SSA to ReflectanceModel single-material or mixture reflectance using SSA and specified abundances.
  • OC to ReflectanceModel single-material or mixture reflectance using OC and specified abundances.
OutputSpectra, Tables, or Maps

Open universalrtm.com, choose Spectra or Images, and select your function. Calculations run on the host server; users do not need Python or MATLAB.

1. Table 1 - All Modeling Routes

Figure 1 and this table are the guide's first-level overview. Follow the links in any column for examples or setup details; each route ID returns to Figure 1.

Spectral and image workflows. S = Spectra; I = Images.
Function / modeInputModel / known informationOutput
S1SpectraReflectance to Abundance via Single Scattering AlbedoMixture reflectance A + endmember SSA AHapke settings; geometry C; densities / equal-size assumption; normalization1 / Abundances + reflectance fit
S2SpectraReflectance to Abundance via Optical ConstantsMixture reflectance A + endmember OC BHapke settings + geometry C, or Shkuratov settings; endmember properties; abundance / size bounds1 / Abundances + particle sizes + fit
S3SpectraSingle Scattering Albedo to AbundanceMixture SSA A + endmember SSA ADirect SSA fit; densities / equal-size assumption; normalization. No geometry.1 / Mass abundances + SSA fit
S4SpectraReflectance to Single Scattering AlbedoReflectance A. No endmember library.Hapke settings; geometry C2 / Converted SSA
S5SpectraReflectance to Optical ConstantsPure-endmember reflectance AHapke settings + geometry C, or Shkuratov settings; known n, size and applicable density / shape2 / Estimated k with supplied n
S6SpectraSingle Scattering Albedo to ReflectanceEndmember SSA AHapke settings; geometry C; specified abundances / densities3 / Modeled reflectance
S7SpectraOptical Constants to ReflectanceEndmember OC BHapke settings + geometry C, or Shkuratov settings; specified composition / physical properties; optional Hapke coating3 / Modeled reflectance
I1ImagesAbundance from Endmember SSAReflectance cube D + endmember SSA AHapke settings; raw / standard geometry; densities / equal-size assumption; image controls1 / Abundance maps + reflectance fit products
I2ImagesAbundance from Image SSA and Endmember SSASSA cube D + endmember SSA ADirect SSA fit; densities / equal-size assumption; image controls. No geometry or reflectance type.1 / Mass-abundance maps + SSA fit products
I3ImagesAbundance from Optical ConstantsReflectance cube D + endmember OC BHapke settings; raw / standard geometry, or Shkuratov settings with standard-geometry reflectance only; endmember properties; abundance / size bounds; image controls1 / Abundance / size maps + fit / solver products
I4ImagesReflectance Image to SSAReflectance cube D. No endmember library.Hapke settings; raw / standard geometry; image controls2 / SSA cube

Image processing applies the corresponding route pixel by pixel. Endmember SSA/OC libraries remain spectrum tables. Shkuratov image processing is restricted to OC abundance from standard-geometry reflectance; raw-image photometric correction uses Hapke.

2. Shared Input Formats

All spectrum and angle tables accept TXT, CSV, TSV, DAT, XLS, XLSX, XLSM. Use decimal points and consistent separators. For spectral Excel uploads, put a rectangular table on the first worksheet, with an optional header row and no merged cells or missing data cells.

A / Reflectance or SSA

One row per wavelength; one spectrum per column after the first.

Wavelength (um)PlagioclasePyroxene
0.500.350.20
0.750.400.25
1.000.380.18

First column: shared wavelengths.
Each remaining column: a separate visible spectrum.

B / Optical Constants

Example: two endmembers with paired n/k.

Wavelength (um)n1k1n2k2
0.501.500.0011.600.010
0.751.500.0021.600.015
1.001.500.0031.600.020

n1/k1 belong to endmember 1; n2/k2 to endmember 2.
These examples illustrate layout, not reference material data.

A applies to mixtures and endmembers. Load reflectance into a reflectance panel and SSA into an SSA panel. One-spectrum files use their filenames; multi-spectrum files use column names, or numbered Spectrum/Endmember labels when unnamed. Select several files together or add more later.

B also accepts wavelength, k and wavelength, n, k1, k2, .... In the latter, all k columns share the same n spectrum. Review the proposed OC column layout and confirm it. For k-only files, enter n in the library; n supplied by a file disables the n input box.

C / Viewing Geometry

Spectrum angle table

incidenceemissionphase
30030
501060

One row per measured spectrum, in the displayed spectrum order. Use recognized headers; otherwise the first three numeric columns are taken as i/e/g.

Image angle cube

Example order only. The program reads band metadata; if names are absent or ambiguous, a popup asks you to identify i/e/g. No fixed image band order is assumed.

For spectra, use one scalar i/e/g triplet if geometry is shared, one combined table, or three single-column angle files. Separate vectors must have equal lengths; geometry Excel inputs allow worksheet selection. In forward Hapke runs, each geometry row produces one modeled spectrum.

For images, use one multiband geometry dataset or three separately labeled i/e/g datasets. Geometry must be spatially aligned and have the same rows and columns as the science image. Use the same image formats as D.

D / Reflectance or SSA Image

GeoTIFFscene.tifOne file; embedded metadata.
ENVIscene.hdr + scene.imgSelect header and body together.
Detached PDS3scene.lbl + scene.imgSelect label and body together.

Select one dataset. Paired files must share a basename; supported binary extensions include .img, .dat, .raw, and .bin. Metadata must describe the actual dimensions, data type, byte order, and storage order (ENVI BSQ/BIL/BIP). Loading automatically shows a thumbnail and metadata in Results.

Image contents What you supply next
Raw Radiance Factor Pixel-matched geometry C for Hapke correction.
Standard Geometry Radiance Factor The actual standard i/e/g used to correct the image.
SSA No reflectance type or viewing geometry; use the direct image-SSA function.

Units and Wavelength Matching — All Routes

Quantity Input convention
Wavelength and grain size Microns (um).
Reflectance / SSA Decimal values on the expected 0-1 input scale. Reflectance means radiance factor (I/F).
n / k Dimensionless; not percentages.
Density Positive, consistent units across endmembers, conventionally g/cm3.
Abundance Percent: 25 means 25%.
i / e / g Degrees: incidence / emission / phase.
Filling factor phi Solid fraction; porosity = 1 - phi.

Spectral imports recognize nm and percent-style values heuristically and convert detected values. Check the preview: microns and decimal reflectance/SSA are least ambiguous. Image data are not converted from percentages.

Choose Keep Existing to append files or Remove Existing to replace. If prompted, select the reference wavelength grid. During unmixing, the mixture/image wavelengths are the resampling standard; image fitting uses shared measured endmember coverage.

In Image Wavelength, use embedded wavelengths or Select Wavelength File: one numeric row/column, exactly one wavelength per original image band. Confirm replacement if embedded wavelengths exist. Library wavelengths can be used when counts match, but only if the bands truly correspond. Sensor overlaps/repeated wavelengths are supported; preserve band order. Set min/max wavelengths or Use Full Range.

3. Shared Model Setup

Model Parameters

Setup Enter once for the run
Hapke Geometry C; HG (Henyey-Greenstein) or LG (Legendre) phase function and b/c; SHOE amplitude Bs0 and width hs; solid filling factor phi 0-0.52, default 0.4. Macroscopic roughness defaults to 0 degrees in both Spectra and Images modes. hs is a model width parameter, not a degree-valued angle field.
Shkuratov OC-based routes; solid filling factor phi, default 0.4, and applicable material properties. Hapke phase/geometry controls do not apply. Density is not used by this Shkuratov implementation.
Direct SSA fit Mixture and endmember SSA; densities and normalization. No photometric conversion or viewing geometry.

Hapke settings appear within the equation in Spectra mode and as fields in Images mode. Hover over terms for explanations. This implementation includes K(phi) and SHOE; CBOE is fixed at zero. Radiance factor is measured radiance divided by incident solar irradiance/pi.

Endmember Properties and Unknowns

Edit properties beside each endmember. SSA and OC libraries are separate; their corresponding pools/properties are reused between Spectra and Images.

Task Known / entered Calculated
SSA abundance Endmember SSA and densities Density-weighted mass abundances, assuming equal effective particle size across endmembers and mixture.
OC abundance OC, applicable density/shape, abundance and grain-size bounds Abundances and particle sizes. Default OC size bounds: 1-150 um.
Reflectance to OC Pure reflectance, known n and grain size, applicable density/shape k; supplied n is retained.
Forward modeling Library and specified composition/properties Reflectance. Use 100% for a pure material or a mixture totaling 100%.

Density defaults to 1 as a placeholder; use measured values where available. Shkuratov abundance is not density-corrected weight percent.

Abundance priors: min = max = 25 fixes 25%; 0/0 excludes an endmember. OC inversion uses ranges. SSA inversion currently enforces equal min/max only; unequal ranges generate a warning and are not enforced.

SSA normalization: Absolute Sum normalizes absolute coefficients; Signed Sum/Sum retains signs; Clip Negatives/Clip and Sum removes negative coefficients before normalizing; None omits normalization. Inspect the fit and warnings as well as the percentages.

OC consistency: Active OC must be compatible with the chosen model. Hapke- and Shkuratov-derived files can coexist in a pool if incompatible entries have zero forward abundance or inverse bounds 0/0. Retain model metadata with exported OC; check external OC provenance yourself.

Hapke coating: Select at most one coating endmember. Forward modeling uses Coating Volume (%); inversion uses its abundance min/max. Disabled fields are inapplicable.

Additional Image Controls

Control Meaning
Spatial Downgrade Size Nearest neighbor: 4 keeps one pixel per 4 x 4 window; 1 keeps full resolution. Geometry uses the same sampling.
Size of Image ROIs Neighborhood size for representative spectra.
Allowed Invalid Spectral Bands (%) Default 10%. Skip a pixel if more than this fraction of selected bands is invalid. Valid values are finite and 0 < value <= 1. Omit invalid bands in otherwise accepted pixels.
Maximum Solver Evaluations OC fitting effort per pixel; larger limits may take longer.
Number of Workers for Parallel Computing Server computation. Auto uses up to four spectral/eight image workers; speedup depends on the task.

Click Run Model or Run Image Model once. Image progress appears below its button; Cancel Job stops an image run. Use spatial downgrade for a first OC image test.

4. Shared Outputs

OUTPUT 1

Abundance + fit

Composition table or abundance maps; measured/modeled spectra and RMSE. OC inversion also gives grain size and image solver diagnostics.

OUTPUT 2

Converted spectra

SSA or OC spectra. Add pure-endmember conversions to the matching library, or download for reuse. Image conversion produces an SSA cube.

OUTPUT 3

Predicted reflectance

Forward reflectance for the specified material or mixture. Plot labels identify the endmember percentages.

Shared action Spectra Images
Inspect Click an input entry; after running, view applied endmembers and result curves. Loaded/result thumbnails have color scales. Abundance examples use high-abundance neighborhoods; SSA conversion examples use low/intermediate/high median reflectance.
Zoom / read Hover for coordinates; drag a rectangle; use X/Y zoom and Reset where provided. Example spectra use dual axes; check left/right labels when comparing curves.
Download Download CSV; abundance table/export use one decimal. Download ZIP: image products, manifest, representative-spectrum CSV where available.
File products Converted/forward spectra or abundance/fit results for the chosen route. Abundance, modeled spectra, residuals and RMSE; OC adds size and solver maps. Raw processing adds corrected reflectance. GeoTIFF input gives spatially referenced GeoTIFF results; other inputs give ENVI pairs.

Image residuals are modeled minus measured; direct-SSA residuals/RMSE are in SSA units. Keep ENVI headers and bodies together.

Below 1% fitted abundance, OC particle sizes are not reported. Image endmembers whose maximum abundance is below 1% may be hidden in thumbnails with a note; downloaded image bands are retained. Image arrays are not rounded to display precision.

Download before leaving the page. The interface is not a saved project session; restarting the server can interrupt jobs.

5. Reuse Reflectance from RELAB

From the library, open reflectance conversion and choose Choose from Public Database. Enter keywords separated by ;, such as plagioclase; lunar; all keywords are required. Filter types, grain size, and coverage; Any removes a categorical restriction. Additional filters are folded by default.

Press Search or Enter, inspect the metadata/preview, check desired spectra (or select all), and Add Selected Reflectance Spectra. Check measurement geometry and properties, run conversion, then choose Add. This returns to the original spectral/image workflow.

Before You Run

Confirm the right data type, units, wavelength range, geometry, and endmember properties. Unexpected scales usually indicate input units; blank image pixels may reflect invalid bands/geometry or failed fits. Read the visible errors and solver warnings. Website availability depends on the host desktop, server, network share, internet, and tunnel.

6. References

Major references for the modeling methods and their applications.

  1. Li, S., & Li, L. (2011). Radiative transfer modeling for quantifying lunar surface minerals, particle size, and submicroscopic metallic Fe. Journal of Geophysical Research: Planets, 116(E9).
  2. Yang, Y., Li, S., Milliken, R. E., Zhang, H., Robertson, K., & Hiroi, T. (2019). Phase functions of typical lunar surface minerals derived for the Hapke model and implications for visible to near-infrared spectral unmixing. Journal of Geophysical Research: Planets, 124(1), 31-60.
  3. Li, S., & Milliken, R. E. (2015). Estimating the modal mineralogy of eucrite and diogenite meteorites using visible-near infrared reflectance spectroscopy. Meteoritics & Planetary Science, 50(11), 1821-1850.
  4. Robertson, K. M., Milliken, R. E., & Li, S. (2016). Estimating mineral abundances of clay and gypsum mixtures using radiative transfer models applied to visible-near infrared reflectance spectra. Icarus, 277, 171-186.
  5. Pascuzzo, A. C., Condus, T., Li, S., & Mustard, J. F. (2022). Sensitivity analysis of ice/dust aerosol and phase function assumptions on Hapke spectral unmixing and band depth parameters of martian water ice. Icarus, 374, 114804.
  6. Hayes, T. W., & Li, S. (2026). Experimental constraints on the abundance and speciation of darkening agents on the surfaces of the icy Galilean moons. Icarus, 117320.