Skip to main content

Voxelized Grids in DIRSIG4

Another feature coming in DIRSIG 4.0.6 is support for regular voxelized grids. The advantage of these structures is that they allow for extremely fast intersections of regularly spaced boxes. The backend code for implementing these grids is also used by DIRSIG to implement support for the QUIC concentration map outputs.

In the ODB file:
REGULAR_GRID {
INSERT_POINT = 0,0,0
DELTA_X = 20
DELTA_Y = 10
DELTA_Z = 25
GRID_FILENAME = niek.grid
}

The INSERT_POINT indicates a grid extent, the point with the smallest x,y,z coordinate values. DELTA_X/Y/Z indicates the size, in meters, of each voxel. The GRID_FILENAME indicates where the voxel data is stored. Note that the .grid extension is not required.

The contents of the .grid file are as follows:
10      10      10
9 9 0 13 230 0
9 8 0 13 230 0
9 7 0 13 230 0

The first line indicates the number of boxes in the x, y, and z direction. For each line following, the first three values indicate voxel indices (the voxel at the INSERT_POINT is voxel 0,0,0). The fourth value is the material id for this voxel. The fifth value is a temperature, in Kelvin. The sixth value is a concentration, in ppm, which can be used for gases. Voxels left unspecified will be treated as null hits.

The regular grid functionality in DIRSIG is still experimental; the syntax for specifying such a grid is subject to change. At this time, instancing is not yet supported for grid. Furthermore, all grids are currently axis-aligned.

Comments

Unknown said…
This comment has been removed by the author.

Popular posts from this blog

LIDAR Point Cloud Visualization

A common question we get asked is how to visualize the point cloud data produced by either the Linear-mode or Geiger-mode LIDAR simulations. First, you should remember that the point cloud files produced by the "APD Processor" are simple ASCII/text files. Each line is the entry for a single return or "point" in the point cloud, including the point location and some attributes that vary depending on whether you modeled a Linear-mode or Geiger-mode system. For a Linear-mode system, a point cloud file will generally look like the example below: 12.7388 -45.3612 -0.0256 5.0290 0 0 0 0 12.8169 -45.3612 -0.0264 4.8362 0 1 0 0 12.8950 -45.3612 -0.0271 4.8362 0 2 0 0 ... 32.4008 -25.5446 10.5945 4.6783 0 65533 0 0 32.4781 -25.5446 10.5953 5.8959 0 65534 0 0 32.5360 -25.5640 12.5408 5.9185 0 65535 0 0 The first three columns are the X/Y/Z location of the point return. The 4th column is the intensity (in photons). Since Linear mode can support multiple returns per pulse, t...

Using MODTRAN6 with DIRSIG

It has been a pretty exciting year for the team at Spectral Sciences, Inc.  with the release of MODTRAN6 . This latest version marks a major milestone in the continued development of one of the most popular and trusted codes for simulating radiative transfer in the atmosphere. In addition to important science related advancements, this latest code also includes significant improvements to the general usability of the software. This includes a new graphical user interface (GUI) and the introduction of a formal application programmer interface (API), which let's codes like DIRSIG interact with MODTRAN in a far more robust way than previous versions allowed. New MODTRAN, new interfaces The major development in the interface area is a shift from the old "tape5" style inputs to a new JSON (JavaScript Object Notation) style input. In addition to improving the general readability of the input, the JSON document format is much easier to read in, modify and write back out. The...

DIRSIG5: An introduction, a timeline and a paper

Although we will be devoting more time to this topic in the blog, many of you are aware that the next generation version of DIRSIG (aka DIRSIG5) has been under development for the past 2 years. This was a ground-up, restart from zero, etc. effort that establishes the DIRSIG modeling toolkit for the next decade. New core, new approach Although we have developed a compatibility layer to allow existing DIRSIG4 simulations to run, the DIRSIG5 model is radically different under the hood. The lightweight and highly optimized radiometry core uses a different numerical radiometry (light transport) approach than we used in DIRSIG4. In addition to being faster (less work to get an accurate answer) this algorithm is far better suited for parallelization. As a result, we have implemented micro-scale parallelization (multi-threading on multi-core CPUs) from the start and work on macro-scale parallelization (MPI distribution on cluster-style computing) is getting underway. This radiometry core al...