-
Notifications
You must be signed in to change notification settings - Fork 42
Scenes
- The script t_sceneIntroduction.m contains example code.
- For more information see scene data and methods
Simulations that account for the properties of lenses and pigments require descriptions of the scene spectral radiance. For some purposes, testing with 2D scene spectral radiance is adequate. For some applications, we must create a 3D spectral radiance data set (iset3d).
The ISETBIO scene is a Matlab structure. For many applications, we model the scene as if it is presented on a 2D display. The scene structure can be created and added to the ISETBIO database to be visualized using the commands.
scene = sceneCreate('rings rays');
sceneWindow(scene);
We treat the 2D scene radiance (photons/sr/sec/nm/m^2) as Lambertian (emitting uniformly in all directions); we do not represent the bidirectional spectral radiance from each point. This is a reasonable assumption when viewing a display from a single point of view. The retinal irradiance (photons/sec/nm/m^2) structure is derived from the scene radiance. Both are typically stored in the database using the ieAddObject()
function.
The sceneWindow shows the currently selected scene.
A large number of scenes can be created by specifying an argument to the sceneCreate command, such as
mcc = sceneCreate('checkerboard') % (or line, or harmonic, or ...)
Many of these sceneCreate() commands have additional parameters that can be specified as options.
Scenes can also be create by reading in RGB image data and interpreting the RGB data as if they were displayed on a calibrated display.
Scene parameters are read and written using the sceneGet(scene, ...)
and scene = sceneSet(scene, ...)
functions. You will be tempted to just set the values in the structs. Resist.
The function scenePlot(scene,...)
is a gateway that makes it easy to generate many figures.
We generate 3D scenes using computer graphics methods via the code in the iset3d repository. The computer graphics code generates the spectral irradiance incident at the retina. We typically generate the retinal irradiance using the sceneEye class. This method also generates pixel-level labels of the scene materials and objects.