Real NAC — top 5000 scan lines

real top
Ground truth: rows 0–5000 of the NAC strip, 512×512. Terrain ~60 km from Malapert at (-85.86°S, 334.6°E).

Synthetic — Blender pushbroom, line-by-line

synthetic blender line-by-line
Blender 4.5 Cycles pushbroom, one render per scan line, SPICE-quaternion camera with NACR sample-axis flip. Cycles output post-processed: divided by π·F₀·albedo → I/F reflectance units (the same convention ISIS uses for the real NAC cube), then p0.5–p99.5 stretched like isis2std. Sun elev = 2.6° is physical truth (confirmed by SPICE + ISIS caminfo); the "mostly black with tiny lit highlights" look matches the grazing-sun geometry.

Synthetic — sun forced to 25° (sanity test)

synthetic 25 deg sun
Same pose + same AOI, but the sun direction is overridden to 25° elevation at the actual azimuth. Physical sun at this observation is ~3°; this card exists only to visually answer "what if the sun WERE higher?" — compare to real_top.

Relief sanity — top-down, 45° NW sun, NAC footprint outlined

relief shade
Pure Lambertian of DEM gradients for the 12×7 km ground patch around the AOI. 45° sun from NW, no camera model. Red outline = the NAC's top-5000-line footprint (ray-projected through SPICE). Sub-meter craters the NAC sees are smoothed out here (LOLA is 10 m posting). Use this to check the AOI is right, not the physics.

Correlator — top 5000, body-frame

corr composite top body
Three panels: real | synthetic warped into real's frame | |residual|.
ECC = +0.1387 · NCC id=-0.103 → warp=+0.019
rotation = +0.62° · scale = (+0.878, -1.172) · skew = -170.09° · det = -1.030
translation (px) = (+59.7, +532.2) · best init = flipY

Scene metadata

{
  "dem_obj": "/home/chandmer/nvme-8tb-2/DEMEnhancement/outputs/smoke/dem_mesh.obj",
  "bbox_sps_m": [
    -8865.0,
    106195.0,
    21135.0,
    136195.0
  ],
  "dem_center_sps_m": [
    6923.704453855879,
    117637.05395496669,
    2568.72021484375
  ],
  "posting_m": 10.0,
  "camera": {
    "pos_sps_m": [
      2188.3074400213495,
      143247.6015596752,
      66881.09592449688
    ],
    "look_at_sps_m": [
      6923.704453855879,
      117637.05395496669,
      2568.72021484375
    ],
    "up_sps": [
      -0.17562877029541718,
      -0.9844564668102495,
      0.0
    ],
    "focal_length_mm": 699.62,
    "sensor_width_mm": 36.64038889646912,
    "fov_deg": 3.0,
    "resolution": [
      512,
      512
    ],
    "line_idx": 39592
  },
  "sun": {
    "elev_deg": 2.264517069284455,
    "az_deg": -32.36763037186056,
    "energy": 1361.0,
    "angle_deg": 0.53
  },
  "moon_radius_m": 1737400.0,
  "crs_proj4": "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +x_0=0 +y_0=0 +R=1737400 +units=m +no_defs=True",
  "et_mid": 619362176.0071776,
  "obs_utc": 619362176.0071776
}

Files in outputs/smoke/

body_composite.png
body_warped.png
correlation_composite.png
nac_footprint_overlay.png
real.png
real_crop.png
real_full.png
real_malapert.png
real_top.png
relief_top.png
synthetic.png
synthetic_blender.png
synthetic_blender_stretched.png
synthetic_nac_s08.png
synthetic_nac_s08_body.png
synthetic_nac_s08_body_as_sps.png
synthetic_nac_s08_body_full.png
synthetic_nac_s08_full.png
synthetic_pushbroom_full.png
synthetic_pushbroom_partial.png
synthetic_pushbroom_raw.png
synthetic_s08_partial.png
synthetic_s08_top.png
synthetic_s08_warped.png
synthetic_top.png
synthetic_top5k_blender.png
synthetic_top5k_flip.png
synthetic_top_batch.png
synthetic_top_body.png
synthetic_top_body_native.png
synthetic_top_body_sun25.png
synthetic_top_line.png
top_body_composite.png
top_body_warped.png

/api/files · static /img/