keywords: sources
This demo focuses on how to setup point sources.
Summary
The scene consists of an array of point sources illuminating a simple, flat surface. The scene has two rows containing 3 types of sources:
-
A 300W, 3000K blackbody source (brightness = 6092.78 lumens, efficacy = 20.31 lumens/Watt)
-
A 50W High-Pressure Sodium (HPS) source (brightness = 9869.03 lumens, efficacy = 193.70 lumens/Watt)
-
A 250W Mercury Vapor source (brightness = 10844.9 lumens, efficacy = 67.03 lumens/Watt)
The first row is configured using the GDB file mechanism and the second row is configured using the GLIST mechanism.
Related Materials
The following demos, manuals and tutorials can provide additional information about the topics at the focus of this demo:
-
Related Demos
-
Any of the other user-defined source demos.
-
-
Related Manuals
-
Related Tutorials
-
None.
-
Details
A detailed description of how sources are configured is discussed in detail in the User-Defined Sources Manual. In general, a user-defined point source is a special geometric entity defined by a point in space with a pointing direction (in case the source has directional shaping configured) with the radiometric properties defined via a material with special "source" properties.
Important Files
This section highlights key files important to the simulation.
Important
|
The older GDB method for defining the geometric location and orientation of the sources in the first row is not the recommended method but is used here for historical reasons and test coverage. The GLIST point source method used in the second row of sources is now the recommended method. |
-
For the 3 sources described via a GDB file, there are 3 separate GDB files in the
geometry
subfolder (seesource1.gdb
,source2.gdb
andsource3.gdb
).-
Each file describes the point source as a single-vertex facet (polygon). The vertex is at 0,0,0 and the normal (0,0,-1) defines the direction it is pointing.
-
The 3 files are the same except that they have different material labels (using
101
,102
and103
). -
The 3 GDB sources are placed into the scene via the
geometry/demo.glist
file, which defines a single static instance for each.-
Note that one source is positioned lower because it’s output is less than the others (it’s location is 0,0,2 vs. 0,0,5).
-
-
-
For the 3 sources described via the GLIST file, there are 3 separate
<basesource>
entries ingeometry/demo.glist
-
Each entry has the same pointing vector, but the have different material labels (using
101
,102
and103
). -
The 3 GLIST sources are placed into the scene via the
geometry/demo.glist
file, which defines a single static instance for each.-
Note that one source is positioned lower because it’s output is less than the others (it’s location is 0,0,2 vs. 0,0,5).
-
-
-
The 3 different source materials are described in the
demo.mat
file (see materials101
,102
and103
).-
The radial power distribution is described in each material via the exponential cosine shaping coefficient. For this example, we gave each source a unique shape coefficient;
-
The spectral output of each source is described via a unique Spectral Radiant Intensity File. In brief, the spectral units are in microns and the radiant intensity values are in Watts per steradian per micron.
-
Setup
The Scene Geometry
The point source array and flat surface they are illuminating are placed in
the scene via a GLIST file (see geometry/demo.glist
). That GLIST file
inserts the background surface (see plate.gdb
), the 3 GDB files describing
the source geometry (see source1.gdb
, source2.gdb
and source3.gdb
)
and the 3 <basesource>
setups.
The Source Description
The source’s spatial (angular) and spectral configuration can be inspected
by loading the materials/demo.mat
file into the Material Database Editor
tool. Material ID #101 is the source material and it will have the following
properties:
-
The Radiant Intensity filename is
300w_3000k.int
-
This file has a spectral shape derived from a 3000 Kelvin blackbody curve. The total integrated power (spectrally integrated from 0.4 to 14.0 microns and angularly integrated over a sphere) is 300 Watts. The brightness is 6092.78 lumens, and the Overall Luminous Efficacy is 20.31 lumens per watt. These characteristics match up well with a standard, commercial 300 Watt tungsten incandescent light bulb.
-
-
The Shape Factor is
0
-
This makes it an omni-directional source.
-
-
The Normalize Shape option is enabled.
Important
|
Enabling the Normalize Shape option is extremely important if you want to have traceable radiometry. This option is available so that it can be disabled in order to provide compatibility with DIRSIG3. |
The other two source materials can be explored as well. The user should
find that in addition to referencing a different Radiant Intensity
filename, they have a different Shape Factor. There are a total of 4
different Radiant Intensity files in the materials/sources
folder:
300w_3000k.int
-
Similar to a 300 Watt, 3,000 K color temperature incandescent bulb. This file is used for the left source in this demo.
50w_High_Pressure_Sodium.int
-
Similar to a 50 Watt, High Pressure Sodium (HPS) bulb. This file is used for the center source in this demo.
250w_Mercury_Vapor.int
-
Similar to a 250 Watt Mercury Vapor bulb. This file is used for the right source in this demo.
40w_2700k.int
-
Similar to a 40 Watt, 2,700 K color temperature incandescent bulb. This is an extra, example file and is not used in the demo as provided.
The spectral radiant intensity for these files are plotted below:

The Sensor
A simple 320 x 240 array sensor with CIE tristimulous curves is configured and placed 100 meters above the scene.
Results
The output radiance image is displayed below. The top row of sources
were configured via the GDB file mechanism and the bottom row via the GLIST
<basesource>
mechanism. The 3 different source materials are arranged
horizontally with the 300W 3,000K (left), 50W HPS (middle) and 250W Hg
Vapor (right). Note that the spot size of the left source (300W, 3000K)
appears smaller because it’s brightness and efficacy are lower than the
other two types. The color difference is a direct result of the spectral
power distribution described by the respective Radiant Intensity files.

Numerical Verification
Since this scenario is simple, it allows us to quickly check the
DIRSIG numerical calculation against an external analytical solution.
For this verification, there is a separate set of simulation files that
look at the radiance reflected off the background directly below the
300W 3000K source.
The source shape coefficient is 0
, which makes this an omni-directional
point source. Therefore, the irradiance (E) arriving at a surface r
meters away from a source with radiant intensity I follows the Inverse
Square Law:
\begin{equation} E = \frac{I}{r^2} \left [ \mathrm{\frac{W}{m^2}} \right ] \end{equation}
The illuminated surface is a Lambertian reflector, therefore the surface leaving radiance (L) can be computed as:
\begin{equation} L = E \left ( \frac{\rho}{\pi} \right ) = \frac{I}{r^2} \cdot \frac{\rho}{\pi} \left [ \mathrm{\frac{W}{{m^2 sr \mu m}}} \right ] \end{equation}
At 0.6 microns, the radiant intensity is 8.456 (see 300w_3000k.int
) and
the source is 2 meters above the 18% Lambertian reflector surface:
\begin{eqnarray} L &=& \frac{8.456 \mathrm{\frac{W}{sr \mu m}}}{(2 \mathrm{m})^2} \cdot \left ( \frac{0.18}{\pi} \cdot \frac{1}{\mathrm{sr}} \right ) \nonumber \\ &=& 1.2112 \times 10^{-1} \left [ \mathrm{\frac{W}{{m^2 sr \mu m}}} \right ] \nonumber \\ &=& 1.2112 \times 10^{-5} \left [ \mathrm{\frac{W}{{cm^2 sr \mu m}}} \right ] \nonumber \end{eqnarray}
Since the atmosphere in this simulation has no extinction or path radiance,
the sensor reaching radiance is the same as the surface leaving radiance.
The simulation that attempts to isolate this source can be run using the
test.sim
scenario. It uses a small 33x33 camera with raw spectral
radiance output so that we can easily extract the reflected radiance
directly under the source.
The peak radiance should be the point on the surface closest to the
source. Due to our viewing geometry, this will be the center pixel
of the output image. This value can be found by loading up the 0.6
micron band (Band #21) in the graphical image viewer and looking
at the reported Data Value at the center of the image. Or the
image_tool
utility can be used via the command-line to verify the
maximum value is a match:
$ image_tool analyze --band=20 band_min_max test.img 20, 1.12468e-05, 1.21241e-05
Suggested Variations
The following simple variations of the simulation can be performed:
-
Different source types can be swapped into the simulation from the other
.int
files in thematerials/sources
folder. -
Multiple copies of the same point source can be introduced by simply adding more instances to the GLIST file.
-
The radial power distribution can be manipulated via the "shape" parameter in the material description for the source.