Skip to content

Latest commit

 

History

History

fs3d

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

fs3d-scl.diderot: function sampler, 3D scalar synthetic fields

fs3d-scl.diderot is based on fs2d-scl.diderot; some copy-and-pasting was involved. Like that program, the utility of this program is to generate datasets for other Diderot programs to work on. This same directory has a fs3d-vec.diderot for generating vector fields, and possibly other programs; the documentation below is for fs3d-scl.diderot though the other programs will have very similar structure and usage.

This programs generates synthetic scalar 3D data on regular grids that are located and oriented in world space. The input arguments here make it easy to sample the same underlying function on different grids. Grid orientation is specified by the angle and axis of rotation.

The -which option will determine which function is sampled; look for ("x" == which) in the code to see the start of the function definitions, this includes 3D functions used to make datasets for some previous papers.

This program is unusual in that its printed output needs to be captured in order to have a NRRD header that records the orientation of the sampling grid, so using the program involves redirection. To get a self-contained parab.nrrd containing a parabola function

./fs3d-scl -which parab | unu save -f nrrd -o parab.nrrd
rm out.nrrd

Note that like in fs2d-scl.diderot, the NRRD header generated by this program assumes:

  1. This program was not compiled with --double
  2. The program is running on a little-endian machine.