Raytrix Light Field SDK  v3.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Properties Events Groups Pages
Raytrix's Projection System - Target View
Illustration of the Three Projection Target Views

The raytrix lightfield API can be seen as a state machine. This means that each computational step requires a specific state of the API to be in, to perform its task.

In the first section of this page the three essential initial states are explained:

  1. Initialized API
  2. Prepared Image Source
  3. Image Bound

The diagram above illustrates which Raytrix Light Field API functions to one of the states mentioned above lead.

For example to get the API state machine into the Initialized API state you have to call: Rx::ApiLF::RxInit. Thereafter you must select a CUDA device with Rx::ApiLF::RxCudaSelectDevice to make sure you have a CUDA device referenced on which all image processing is done.

Coming from state 1. you have the opportunity to select an image source. The Raytrix Light Field API can work with three different sources. To get to state 2. Prepared Images Source you can use the corresponding API calls for your image source of choice:

  1. Raytrix Image Source (*.ray)
  2. Raytrix Image Sequence Source (*.rays)
  3. Camera Source

Lastly the final step, before you can start the actual image processing, is state 3. Image Bound. This step is essential because it copies the raw image (Rx::ApiLF::EImg::Raw) onto the CUDA device. This allows the Raytrix Light Field API user to benefit from the fast and efficient image processing computations already implemented on the graphical card.

See also
Image Processing State Machine

Image Processing State Machine

The following image illustrates a flow chart of image processing with the Raytrix Light Field API including all API calls and images that are needed for each processing step.

Raytrix Light Field API - Flow Chart of Image Processing
See also
Image Processing with the Raytrix Light Field API