Open-source · MATLAB

Render space.
Measure reality.

Physically-based synthetic images of planets, moons, small bodies and space debris.

Lunar south pole · ABRAM simulation

01 / Overview

Geometric and radiometric
end-to-end consistency.

ABRAM connects geometry, surface physics, illumination and camera radiometry in one flexible and generalizable MATLAB workflow. It has been geometrically and radiometrically validated against analytical models and ground-truth imagery.

02 / Capabilities

One engine.
Many mission regimes.

Representative scenarios spanning planetary imaging, cislunar flight, landing and small-body operations.

01

Earth imaging at night

Contrast assessment between the dark sea and emitting lights.

02

Cislunar trajectory

Imaging geometry along a Near-Rectilinear Halo Orbit.

03

Moon landing scenario

Close-range surface rendering during terminal descent.

Animated ABRAM rendering of asteroid Bennu
04

Small-body rendering

Irregular geometry and complex illumination.

03 / Workflow

One configuration.
Every physical layer.

A YAML file describes the light, target, camera, scene and rendering settings. Initialize once, update the object, and generate new frames without repeating costly preprocessing.

  1. 01
    Definelight · body · camera · scene · setting
  2. 02
    Initializerend = abram.render(file)
  3. 03
    Renderrend = rend.rendering()
  4. 04
    Analyzeimg · depth · radiance · cloud

04 / Validation

Synthetic meets ground truth.

Direct comparison with real mission imagery tests geometric alignment and radiometric consistency.

Comparison between an ABRAM Vesta rendering and real optical navigation imagery
Vesta · ABRAM versus flight imageryOPNAV / 2011

05 / Recreation of mission imagery

Rebuilding views
from historic missions.

Known mission geometry and camera behavior can be translated into physically consistent simulated observations.

ABRAM recreation of Orion passing behind the Moon during Artemis I
Artemis I · Orion passage behind the Moon2022

06 / Get started

Your first
rendering.

ABRAM was developed and tested in MATLAB R2023b. First retrieve the complete repository, then initialize the rendering agent from MATLAB.

01 · Terminal
$ git clone https://github.com/andrepiz/abram
$ cd abram
$ git submodule init
$ git submodule update
02 · MATLAB
% Install ABRAM paths
 abram_install()

% Generate the first rendering
 rend = abram.render('example_moon.yml')

07 / Integration support

Bring ABRAM into
your workflow.

Need help designing a synthetic-image campaign, reproducing mission imagery, configuring camera radiometry or integrating ABRAM with an optical facility? Describe your application and I’ll get back to you.

  • Application and feasibility assessment
  • Scene, camera and radiometry configuration
  • Dataset generation and workflow integration
  • Validation and hardware-in-the-loop support

Submitting opens your email application. Your information is not stored by this website.

08 / About the project

Built for research.
Shared in the open.

ABRAM is an open-source research tool for image dataset generation, camera design, radiometric analysis and optical hardware-in-the-loop facilities.

08 / Cite ABRAM

Pizzetti, A., Panicucci, P., Capolupo, F., & Topputo, F. (2026). “Development and validation of a physically based rendering methodology for celestial bodies.” Acta Astronautica.
View publication ↗