Keywords: thermal, external triggers

Summary

This demo shows how the built-in THERM thermal model can model temporal shadow signatures. In this scenario, we have a simple scene with two boxes that we observe over a period of an hour. During that hour, the high thermal inertia background responds to the solar shadowing created by a stationary box (left) and a box that moves to a new location (center → right).

demo

Details

This scenario is focused on the temporal nature of the thermal shadows in the scene. The two boxes that are placed on the backgound block the sun for periods of time, during which the background cools due to the decrease in radiational loading. This results in a "thermal shadow". The thick, high heat capactity (high "thermal inertia") material used for the background will react slowly to changes in the insolation because it needs to either disipate or absorb a lot of energy in order to change temperature. As a result, a thermal shadow is slow to develop when the background is placed into shadow and slow to fade when the background starts to receive sunlight again. The two boxes placed on this background attempt to demonstrate this behavior. One of the boxes is stationary and the other is initially relocated within the scene. The stationary box creates a slowly changing shadowing condition as the sun slowly moves across the sku during the course of the hour. The moving box creates a quickly changing shadow condition as the area originally shaded by the box suddenly becomes sunlite (once it moves away) and the area that was original sunlite is suddenly in shadow (once the box moves to it’s new location).

Important Files

This section highlights key files important to the simulation.

Geometry Files

The geometry/demo.glist file contains all the scene geometry, which is entirely composed of built-in geometry objects. The background is a "ground plane" object and is assigned material ID #1:

  <object>
    <basegeometry>
      <groundplane>
        <matid>1</matid>
      </groundplane>
    </basegeometry>
    <staticinstance/>
  </object>

The two boxes are "box" objects that are 10 x 10 x 10 meters in size, centered about the XY axis, sitting on the Z = 0 plane and assigned material ID #2:

  <object>
    <basegeometry>
      <box>
        <matid>2</matid>
        <lowerextent>
          <point><x>-5.0</x><y>-5.0</y><z>0.0</z></point>
        </lowerextent>
        <upperextent>
          <point><x>+5.0</x><y>+5.0</y><z>10.0</z></point>
        </upperextent>
      </box>
    </basegeometry>
    ...
  </object>

The first box instance is for the stationary box, which is offset along the X axis -15 meters from the scene origin:

  <staticinstance>
    <translation>
      <point><x>-15</x><y>0</y><z>0</z></point>
    </translation>
  </staticinstance>

The second instance of the box is the one that quickly relocates from the scene origin to +15 meters along the X axis. To accomplish this simple relocation, the Flexible motion model is used:

  <dynamicinstance>
    <motion type="flexible">
      <locationengine type="waypoints">
        <data source="internal" datetime="relative" frame="scene" delimiter=",">
          <![CDATA[
            898.0,+0,0,0
            899.0,+15,0,0
          ]]>
        </data>
      </locationengine>
    </motion>
  </dynamicinstance>

This second box is relocated 899 seconds into the simulation, which is 1 second before the second frame is rendered. The Flexible motion model uses "flat extrapolation", which means that for all times before the first entry (relative time = 898, in this case), the object is at the location described in that first entry. For all times after the final entry (relative time = 899, in this case), the object is at the location described in the final entry. In summary, the box is assumed to be at the 0,0,0 location from the begining of time until relative time = 1 second, at which point it is located at +15,0,0 until the end of time.

Material File

The two materials in this scene are identical except for two attributes:

  • The spectral emissiviy used for the ground is 0.80 (see materials/gray.ems) and the spectral emissivity used for the boxes is 1.00 (see materials/black.ems).

  • The THICKNESS for the background is 10 cm in order to create a surface with high thermal interia (similar to concrete or soil) and the THICKNESS of the boxes is only 2 cm.

    TEMP_SOLVER_NAME = Therm
    TEMP_SOLVER {
        SPECIFIC_HEAT        = 0.465
        MASS_DENSITY         = 1
        THERMAL_CONDUCTIVITY = 20.93
        SOLAR_ABSORPTION     = 0.95
        THERMAL_EMISSIVITY   = 0.65
        EXPOSED_AREA         = 0.4
        THICKNESS            = 10
    }
Important
There is not a way to specify the thickness of the surfaces for built-in geometry objects in the GLIST file. Therefore, it is very important to include that thickness in the thermal description. Without it, the surface is assumed to have zero thickness, which means it will behave unrealistically from a temperature perspective.

Platform File

The sensor for this scene is a simple QVGA format (320 x 240) focal plane with a simple 8 - 12 micron (LWIR) bandpass filter. The only feature of note in this setup is that the focal plane clock uses an external trigger file. This allows the user to specify exactly when to the sensor will read generate frames. In this case, we wanted the camera to generate a frame every 15 minutes (900 seconds) for 1 hour (3,600 seconds). The contents of the triggers.txt file is show below:

0.0
900.0
1800.0
2700.0
3600.0
Note
The external trigger mechanism is usually reserved for irregular read-out timings. In this case, the times are periodic and could be replaced by a clock rate of 1/900 = 0.00111111 Hz.

The demo.tasks file has to contain a time window of 0 - 3,600 seconds for all of these triggers to be used.

Setup

This section includes any step-by-step instructions for running and visualizing the simulation.

Results

The output of this simulation is a set of 5 radiance and truth image files corresponding to the 5 trigger times defined in the triggers.txt file. The truth image files for each time include the average temperature of each pixel, which shows how the temperature of the background object reacts to the dynamic solar illumination conditions created by natural sun motion and the relocation of the one box.

Animation of the 5 time-lapse frames produced by this simulation (temperature truth).

demo

Note how the stationary box (left) creates a slowly moving shadow on the background with "soft" edges. These soft edges result from the slow heating and cooling of the background. On the left edge, this is the shadow fading as that portion of the ground starts to receive sunlight. On the right edge, this is the ground starting to cool as the sunlight is being blocked as it moves behind the box in the sky.

The first frame shows the moving box at the center of the scene and then it relocates to it’s new position for the remaining frames. The shadow in the center of the frame persists for most of the hour because it takes that long for the sunlight to heat the background that had been shaded for a long period of time. A new shadow near the new location has not started to develop in frame #2 because the box has been located there for less than 1 second and the background has not had the chance to cool. As time passes (the later frames), the shadow develops and evolves in a similar way as the one associated with the stationary box.