Raytrix Light Field SDK  5.0
Rx::LFR::CApiLF Class Reference

Detailed Description

ApiLF.

Static Public Member Functions

static void * GetInterface (Interfaces::EApiLF::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
static void RxAddStatusMessageHandler (Rx::LFR::TFuncStatusMsg pFunc, void *pvContext)
 Registers a status message callback Function. This function will be called when a new Status Message is fired. More...
 
static void RxCalibDBAssignGrayImageToBoundCalib (const Rx::CRxString &sxGUID, bool bLoadGrayImg)
 Assign the gray image of the calibration with the given GUID to the bound calibration. This copies the gray image. More...
 
static void RxCalibDBBindCalib (const Rx::CRxString &sxGUID, bool bApplyGrayImage)
 Applies the camera calibration defined by GUID sxGUID to the currently bound image in API. Also updates the computational class. More...
 
static void RxCalibDBBindCalibGrayImage (unsigned &uRayHandle, const Rx::CRxString &sxGUID)
 Bind gray image of calibration to API and use this image as gray image too. Now you can calibrate a calibration without using a camera. More...
 
static void RxCalibDBBoundCameraNewCalib (Rx::CRxString &sxNewGUID)
 Creates a new calibration for the currently bound camera and returns the GUID of the newly created calibration in sxNewGUID. More...
 
static void RxCalibDBCameraNewCalib (Rx::CRxString &sxNewGUID, unsigned uCamIdx)
 Creates a new calibration for the camera with index uCamIdx and returns the GUID of the newly created calibration in sxNewGUID. More...
 
static void RxCalibDBCreateDataBase (const Rx::CRxString &sxCamHardwareId, bool bForce)
 Creates a new calibration database for the camera with the HardwareID sxCamHardwareId. More...
 
static void RxCalibDBCreateDataBaseForBoundCamera (bool bForce)
 Creates a new calibration database for the currently bound camera. More...
 
static void RxCalibDBCreateDataBaseForCamera (unsigned uCamIdx, bool bForce)
 Creates a new calibration database for camera with ID uCamIdx More...
 
static void RxCalibDBDeleteCalib (const Rx::CRxString &sxGUID)
 Deletes camera calibration with GUID sxGUID More...
 
static void RxCalibDBGetCameraCalibGuidList (Rx::CRxArrayString &asxGUIDs, unsigned uCamIdx)
 Gets a Rx::CRxArrayString which contains unique IDs of all calibrations for the camera with given index uCamIdx. More...
 
static void RxCalibDBGetCameraMasterCalibGuid (Rx::CRxString &sxGUID, unsigned uCamIdx)
 Gets a Rx::CRxString which contains the GUID of the master calibration of the camera with the given Index. More...
 
static void RxCalibDBGetCompleteCalibGuidList (Rx::CRxArrayString &asxGUIDs)
 Gets a Rx::CRxArrayString which contains GUIDs of all calibrations on this computer. More...
 
static void RxCalibDBGetCompleteMasterCalibGuidList (Rx::CRxArrayString &asxGUIDs)
 Gets a Rx::CRxArrayString which contains GUIDs of all master calibrations on this computer. More...
 
static void RxCalibDBLoadBoundCalibMetaData (Rx::CRxCalibMetaData &xCalibData)
 Gets the last applied calibration data. More...
 
static void RxCalibDBLoadCalibMetaData (Rx::CRxCalibMetaData &xCalibData, const Rx::CRxString &sxGUID)
 Gets Rx::CRxCalibMetaData for the calibration with given GUID sxGUID. More...
 
static void RxCalibDBNewCalib (Rx::CRxString &sxNewGUID, const Rx::CRxString &sxCamHardwareId)
 Creates a new calibration for the camera with the HardwareID sxCamHardwareId and returns the GUID of the newly created calibration in sxNewGUID. More...
 
static void RxCalibDBReloadBoundCalib (bool bApplyGrayImage)
 Applies the currently bound camera calibration to the currently bound image in API. Also updates to the computational class. More...
 
static void RxCalibDBSaveBoundCalibMetaData (const Rx::CRxCalibMetaData &xCalibData)
 Sets calibration data to the last applied calibration. More...
 
static void RxCalibDBSaveCalibMetaData (const Rx::CRxCalibMetaData &xCalibData, const Rx::CRxString &sxGUID)
 Sets Rx::CRxCalibMetaData for calibration with given GUID sxGUID. More...
 
static void RxCalibDBUpdateAndSaveBoundCalib ()
 Gets the calibration from current bound image and saves it to current calibration. Also saves database to disk. More...
 
static void RxCalibDBUpdateAndSaveCalib (const Rx::CRxString &sxGUID)
 Gets the calibration from current bound image and saves it to the calibration defined by GUID sxGUID Also saves database to disk. More...
 
static unsigned RxCamBind (unsigned uCamIdx)
 Binds the given camera to the returned API image ID. Call RxCamUnBind to unbind the bound camera. Only one camera can be bound. Calling Rx::LFR::CApiLF::RxCamBind with another camera index results in an Rx::CRxException. More...
 
static void RxCamClose (unsigned uCamIdx)
 Closes the given camera. If the given camera is currently bound, the camera is unbound before closing. Also, if the camera is in capture mode, the capturing is stopped before unbinding. More...
 
static void RxCamGetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double &dValue)
 Get the value of a camera parameter of type double from the currently bound camera. More...
 
static void RxCamGetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxArrayString &aValue)
 Get the value of a camera parameter of type Rx::CRxArrayString. More...
 
static void RxCamGetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxString &sxValue)
 Get the value of a camera parameter of type Rx::CRxString from the currently bound camera. More...
 
static void RxCamGetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned &uValue)
 Get the value of a camera parameter of type unsigned integer from the currently bound camera. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double &dValue)
 Get the value of a camera parameter of type double More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxArrayString &aValue)
 Get the value of a camera parameter of type Rx::CRxArrayString. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxString &sxValue)
 Get the value of a camera parameter of type Rx::CRxString. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned &uValue)
 Get the value of a camera parameter of type unsigned integer. More...
 
static void RxCamGetParRange (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double &dMin, double &dMax)
 Get the parameter range of a camera parameter of type double from the currently bound camera. More...
 
static void RxCamGetParRange (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxArrayUInt &auValues)
 Get set of available values for parameter of type unsigned from the currently bound camera. More...
 
static void RxCamGetParRange (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the parameter range of a camera parameter of type unsigned integer from the currently bound camera. More...
 
static void RxCamGetParRange (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double &dMin, double &dMax)
 Get the parameter range of a camera parameter of type double from the camera with the given index. More...
 
static void RxCamGetParRange (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxArrayUInt &auValues)
 Get a set of available values for a parameter of type unsigned integer from the camera with the given index. More...
 
static void RxCamGetParRange (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the parameter range of a camera parameter of type unsigned integer from the camera with the given Index. More...
 
static bool RxCamIsParameterSupported (Rx::Interop::Runtime30::Camera::EProperty::ID ePar)
 Test whether a camera parameter is supported by the currently bound camera. More...
 
static bool RxCamIsParameterSupported (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned uCamIdx)
 Test whether a camera parameter is supported by the camera with the given Index. More...
 
static void RxCamOpen (unsigned uCamIdx)
 Opens the given camera. Camera settings can only be accessed after a camera has been opened. The first call to open initializes the camera too. More...
 
static void RxCamRegister ()
 Register available cameras. More...
 
static void RxCamRegisterImageCallback (Rx::LFR::TFuncImageCaptured pFunc, void *pvContext)
 Register a callback function which is called when a new image is available. More...
 
static void RxCamRemoveImageCallback ()
 Remove the image callback function. More...
 
static bool RxCamRetrieveImage ()
 Retrieve a single image from the currently bound camera. More...
 
static void RxCamSetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, const Rx::CRxString &sxValue)
 Set the value of a camera property of type Rx::CRxString from the currently bound camera. More...
 
static void RxCamSetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double dValue)
 Set the value of a camera property of type double from the currently bound camera. More...
 
static void RxCamSetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned uValue)
 Set the value of a camera property of type unsigned integer from the currently bound camera. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, const Rx::CRxString &sxValue)
 Set the value of a camera property of type Rx::CRxString from the camera with the given index. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double dValue)
 Set the value of a camera property of type double from the camera with the given index. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned uValue)
 Set the value of a camera property of type unsigned integer from the camera with the given index. More...
 
static void RxCamStartCapture ()
 Prepares the currently bound camera for capturing images. If the currently bound camera is already in capture mode, then the function throws an exception. More...
 
static void RxCamStopCapture ()
 Stops capturing of the currently bound camera. If the camera is not in capture mode, the function simply returns without error. More...
 
static void RxCamSuspendCapture (bool bSuspend)
 Suspend capturing images on the currently bound camera. More...
 
static void RxCamTrigger ()
 Triggers capturing of a single image of the currently bound camera. The image can be retrieved by calling Rx::LFR::CApiLF::RxCamRetrieveImage. More...
 
static void RxCamUnbind ()
 Unbinds a currently bound camera. If the bound camera is still capturing images, the capturing is stopped and then the camera is unbound. More...
 
static void RxConvertImage (Rx::CRxImage &xDstImage, const Rx::CRxImage &xSrcImage, Rx::Interop::Runtime28::EPixelType::ID eDstPixelType, Rx::Interop::Runtime28::EDataType::ID eDstDataType)
 Convert a Rx::CRxImage to a new pixel and data type. More...
 
static int RxCudaDeviceCount ()
 Returns the number of CUDA devices installed. More...
 
static void RxCudaDeviceMemInfo (size_t &nFreeMem, size_t &nTotalMem)
 Return free and total amount of memory on the selected CUDA device. More...
 
static void RxCudaDeviceProp (int iDevice, Rx::CRxString &sxName, unsigned &iCCMajor, unsigned &iCCMinor)
 Get the name and the compute capability major and minor version for a CUDA device. More...
 
static void RxCudaSelectDevice (int iDevice=-1, bool bUseGL=false)
 Select a CUDA device. More...
 
static void RxDepth3D ()
 Object space depth 3D. More...
 
static void RxDepthColorCode (Rx::LF::ESpace::ID eSpace)
 Colorizes the depth map created by Rx::LFR::CApiLF::RxDepthMap.The result is stored in the image with the ID LFR::EImage::Depth3D. More...
 
static void RxDepthMap (Rx::LF::ESpace::ID eSpace)
 Creates a depth map from the ray depth image created by Rx::LFR::CApiLF::RxDepthRay. More...
 
static void RxDepthRay ()
 Estimates the depth of the bound ray image and stores the result in the image with the ID LFR::EImage::DepthRay. More...
 
static void RxDongleGetID (int &iDngID, int &iRxID)
 Get the IDs of an attached dongle. More...
 
static void RxFinalize ()
 Close any open cameras and free all memory allocated on CUDA device and in host memory. More...
 
static void RxFreeImage (LFR::EImage::ID eImgID)
 Frees memory used by the image defined in eImgID. This invalidates the image. More...
 
static void RxGetImage (LFR::EImage::ID eImgID, Rx::CRxImage &xImage)
 Get an internal image. More...
 
static void RxGetImageDevicePointer (LFR::EImage::ID eImgID, void *&pDevicePtr)
 Get the device pointer of an internal image. More...
 
static size_t RxGetImageDevicePointerPitch (LFR::EImage::ID eImgID)
 Gets device pointer pitch, which is the width in bytes of the allocation. Given a row and column of an array element of type T, the address is computed as: More...
 
static void RxGetImageFormat (LFR::EImage::ID eImgID, Rx::CRxImageFormat &xF)
 Get the image format of an internal image. More...
 
static void RxGetImageHistogram (LFR::EImage::ID eImgID, Rx::CRxArrayUInt &xHistogram, unsigned &uChannels)
 Calculates the histogram of the image with the given eImgID and stores the histogram data in the given array. This array must be large enough to hold 4 * 256 numbers. The number of calculated channels is returned in uChannels. More...
 
static void RxGetImageMinMax (LFR::EImage::ID eImgID, unsigned uChannel, float &fMin, float &fMax)
 Finds the minimum and maximum value of the given eImgID More...
 
static void RxGetPar (Rx::LFR::Params::EApiLF::ID ePar, unsigned &uValue)
 Gets the value of a parameter of type unsigned. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, double &dValue)
 Gets the value of a parameter of type double. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxArrayDouble &adValue)
 Gets the value of a parameter of type Rx::CRxArrayDouble. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxArrayString &asValue)
 Gets the value of a parameter of type Rx::CRxArrayString. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxArrayUInt &auValue)
 Gets the value of a parameter of type Rx::CRxArrayUInt. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxString &sValue)
 Gets the value of a parameter of type Rx::CRxString. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, unsigned &uValue)
 Gets the value of a parameter of type unsigned. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, double &dValue)
 Gets the value of a parameter of type double. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxArrayDouble &adValue)
 Gets the value of a parameter of type Rx::CRxArrayDouble. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxArrayString &asValue)
 Gets the value of a parameter of type Rx::CRxArrayString. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxArrayUInt &auValue)
 Gets the value of a parameter of type Rx::CRxArrayUInt. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxString &sValue)
 Gets the value of a parameter of type Rx::CRxString. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, unsigned &uValue)
 Gets the value of a parameter of type unsigned. More...
 
static void RxGetParName (Rx::LFR::Params::EApiLF::ID ePar, Rx::CRxString &sValue)
 Get the string representation of a parameter. More...
 
static void RxGetParName (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxString &sValue)
 Get the string representation of a parameter. More...
 
static void RxGetParName (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxString &sValue)
 Get the string representation of a parameter. More...
 
static void RxGetParProperties (Rx::LFR::Params::EApiLF::ID ePar, Rx::CRxString &sValue, bool &bReadAccess, bool &bWriteAccess, EValueType::ID &eParameterType)
 Get the Properties of a parameter. More...
 
static void RxGetParProperties (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxString &sValue, bool &bReadAccess, bool &bWriteAccess, EValueType::ID &eParameterType)
 Get the Properties of a parameter. More...
 
static void RxGetParProperties (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxString &sValue, bool &bReadAccess, bool &bWriteAccess, EValueType::ID &eParameterType)
 Get the Properties of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Params::EApiLF::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the value range of a parameter of type unsigned. More...
 
static void RxGetParRange (Rx::LFR::Params::ECalib::ID ePar, double &dMin, double &dMax)
 Get the value range of a parameter of type double. More...
 
static void RxGetParRange (Rx::LFR::Params::ECalib::ID ePar, size_t &iMinCount, size_t &iMaxCount, double &dMin, double &dMax)
 Get the value range of an array parameter of type double and the min and max allowed number of elements in the array. More...
 
static void RxGetParRange (Rx::LFR::Params::ECalib::ID ePar, size_t &iMinCount, size_t &iMaxCount, unsigned &uMin, unsigned &uMax)
 Get the value range of an array parameter of type unsigned and the min and max allowed number of elements in the array. More...
 
static void RxGetParRange (Rx::LFR::Params::ECalib::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the value range of a parameter of type unsigned. More...
 
static void RxGetParRange (Rx::LFR::Params::ECudaCompute::ID ePar, double &dMin, double &dMax)
 Get the value range of a parameter of type double. More...
 
static void RxGetParRange (Rx::LFR::Params::ECudaCompute::ID ePar, size_t &iMinCount, size_t &iMaxCount, double &dMin, double &dMax)
 Get the value range of an array parameter of type double and the min and max allowed number of elements in the array. More...
 
static void RxGetParRange (Rx::LFR::Params::ECudaCompute::ID ePar, size_t &iMinCount, size_t &iMaxCount, unsigned &uMin, unsigned &uMax)
 Get the value range of an array parameter of type unsigned and the min and max allowed number of elements in the array. More...
 
static void RxGetParRange (Rx::LFR::Params::ECudaCompute::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the value range of a parameter of type unsigned. More...
 
static void RxGetReleaseDate (int &iDay, int &iMonth, int &iYear)
 Gets the release date of this version of the Raytrix Light Field Runtime. Can be called without initializing the API. More...
 
static void RxGlGetContext ()
 Assigns the OpenGL context created by Rx::LFR::CApiLF::RxCudaSelectDevice to the calling thread. More...
 
static unsigned RxGlGetTextureID (LFR::EImage::ID eImgID)
 Get the OpenGL texture ID corresponding to given parameter eImgID The content of this texture can be updated with the Rx::LFR::CApiLF::RxGlUpdateTex function. More...
 
static void RxGlGetTextureID (LFR::EImage::ID eImgID, unsigned &uGlTextureID)
 Get the OpenGL texture ID corresponding to given parameter eImgID The content of this texture can be updated with the Rx::LFR::CApiLF::RxGlUpdateTex function. More...
 
static void RxGlGetVersion (int &iMajor, int &iMinor)
 Get OpenGL version of current OpenGL rendering context. More...
 
static void RxGlReleaseContext ()
 Releases the OpenGL context owned by the calling thread. More...
 
static void RxGlSetContext ()
 Store the threads current OpenGL context. The context can be retrieved with RxGlGetContext() and released with RxGlReleaseContext. More...
 
static void RxGlUpdateTex (LFR::EImage::ID eImgID, bool bCreateMipmaps=false)
 Copy CUDA result images to OpenGL textures. More...
 
static void RxGrid ()
 Show a lens grid overlay on the raw ray image. More...
 
static bool RxGridCalibrateMaster ()
 Automatically calibrates the MLA rotation steps and the MLA reflection. Requires master dongle feature. More...
 
static bool RxGridCalibrateMla ()
 Automatically calibrates MLA grid. Requires master dongle feature. More...
 
static bool RxGridCalibrateMli ()
 Automatically calibrates MLI grid. More...
 
static void RxGridDataImage ()
 Pre Process a ray image with a minimal Set of preprocessing parameter. More...
 
static void RxGridEnableCalibrationCallback (bool bEnable)
 Enables or disables a callback during automatic grid calibration via RxGridCalibrateMli, RxGridCalibrateMla and RxGridCalibrateMaster. More...
 
static bool RxHasFeature (Rx::Dongle::ERuntimeFeature::ID eFeatureID)
 Test whether the Dongle offers a given feature. More...
 
static bool RxHasFeature (unsigned uFeatureIDs)
 Test whether the Dongle offers the given features. More...
 
static void RxInit (bool bUseCUDA=true, const Rx::CRxString &sxLibPath="", const Rx::CRxString &sxCalibPath="", void *pvData=0)
 Initialize the Raytrix API. More...
 
static bool RxIsImageValid (LFR::EImage::ID eImgID)
 Test whether an internal image is valid. More...
 
static void RxLoadParameter (const Rx::CRxString &sxFilename)
 Loads all writable API parameter from file. Its mandatory to bind a light field image before. More...
 
static bool RxLockCudaMutex (int iTimeout)
 Locks the CUDA Mutex. More...
 
static void RxMultiview ()
 Creates a multi view image and stores the result in the image with the ID LFR::EImage::Multiview_ViewCamera. More...
 
static void RxPreProcess ()
 Pre-Process a ray image. More...
 
static bool RxProject (Rx::CRxArray< double > &adTrgPoints, const Rx::CRxArray< double > &adSrcPoints, LF::ESpace::ID eTrgSpace, LF::ESpace::ID eSrcSpace)
 Projects an array of points from the given source space into the given target space. More...
 
static void RxRayBind (unsigned uRayHandle)
 Bind a ray image to perform computations on. More...
 
static void RxRayCalibSaveXML (unsigned uRayHandle, const Rx::CRxString &sxFilename)
 Save calibration data of ray image in XML format. More...
 
static void RxRayCalibXmlGet (unsigned uRayHandle, Rx::CRxString &sxXml)
 Get the calibration data of the given ray image as XML string. More...
 
static void RxRayDelete (unsigned uRayHandle)
 Delete the image with the given handle. More...
 
static const void * RxRayGetCameraFormat ()
 Gets the pointer to the internal camera format. More...
 
static void RxRayGetFormat (unsigned uRayHandle, Rx::CRxImageFormat &xF)
 Get the image format of a ray image. More...
 
static unsigned RxRayGetFrameID ()
 Gets the frame ID of the bound light field image. Used when working with sequences or cameras. More...
 
static unsigned RxRayGetFrameID (unsigned uRayHandle)
 Gets the frame ID of the given light field image. Used when working with sequences or cameras. More...
 
static void RxRayGetMetaData (Rx::CRxMetaData &xMetaData)
 Get the meta data of the bound ray image. More...
 
static void RxRayGetMetaData (Rx::CRxMetaData &xMetaData, unsigned uImgID)
 Get meta data of a ray image. More...
 
static void RxRayGetRaw (unsigned uRayHandle, Rx::CRxImage &xRawImage)
 Get the ray image as Rx::CRxImage instance. More...
 
static double RxRayGetTimestap ()
 Gets the image timestamp of the bound light field image. Is 0 if the image hasn't a valid timestamp. You can use this timestamp and the timestamp of another camera or sequence frame to determine the time between them. More...
 
static double RxRayGetTimestap (unsigned uRayHandle)
 Gets the image timestamp of the given light field image. Is 0 if the image hasn't a valid timestamp. You can use this timestamp and the timestamp of another camera or sequence frame to determine the time between them. More...
 
static unsigned RxRayLoad (const Rx::CRxString &sxFilename)
 Load a ray image. More...
 
static unsigned RxRayNew (const Rx::CRxImageFormat &xF)
 Create a new ray image. More...
 
static void RxRaySave (const Rx::CRxString &sxFilename, bool bUpdateMetaData)
 Saves the bound light field image to the given file. More...
 
static void RxRaySave (unsigned uRayHandle, const Rx::CRxString &sxFilename, bool bUpdateMetaData)
 Saves the given light field image to the given file. More...
 
static unsigned RxRaySeqBind (unsigned uRaySeqHandle)
 Bind a ray sequence for use by other API functions. More...
 
static unsigned RxRaySeqClose (unsigned uRaySeqHandle)
 Close a ray sequence. More...
 
static unsigned RxRaySeqGetDoubleShotMode (unsigned uRaySeqHandle)
 Get the doubleshot mode used when recording the given sequence. More...
 
static void RxRaySeqGetFileSize (unsigned uRaySeqHandle, unsigned __int64 &uFileSize)
 Get the total file size of the ray sequence in bytes. More...
 
static unsigned RxRaySeqGetFrameBufferUsedCount (unsigned uRaySeqHandle)
 Get number of frame buffers in use. More...
 
static unsigned RxRaySeqGetFrameCount ()
 Get number of frames in ray sequence that is currently bound in read mode. More...
 
static unsigned RxRaySeqGetFrameCount (unsigned uRaySeqHandle)
 Receive ray sequence frame count. More...
 
static unsigned RxRaySeqGetFrameIndex (unsigned uRaySeqHandle)
 Get the current frame index of the given ray sequence. More...
 
static bool RxRaySeqIsBound ()
 Determines if a sequence is bound for reading to the API. More...
 
static void RxRaySeqMoveFrameIndex (unsigned uRaySeqHandle, int iStep)
 Move the frame index relative to the current position in the given ray sequence. More...
 
static unsigned RxRaySeqOpen (const Rx::CRxString &sxFilename, unsigned uMode, unsigned uFrameBufferCount)
 Open a ray sequence. Depending on the mode a ray sequence can be opened for reading or writing. More...
 
static void RxRaySeqRead ()
 Read a frame from the currently bound ray sequence. More...
 
static void RxRaySeqSetFrameIndex (unsigned uRaySeqHandle, unsigned uFrameIdx)
 Set the current frame index of the given ray sequence. More...
 
static void RxRaySeqUnbind (unsigned uRaySeqHandle)
 Unbind a ray sequence. If a ray sequence in write mode is unbound, the currently bound ray image stays bound. No more images can be written to the ray sequence once it has been unbound, however, the ray sequence has not been closed. It can be bound again to write further ray images to it. More...
 
static void RxRaySeqWrite ()
 Write currently bound ray image to currently bound ray sequence. More...
 
static void RxRaySetMetaData (unsigned uRayHandle, const Rx::CRxMetaData &xMetaData)
 Set meta data of a ray image. More...
 
static void RxRayUnbind ()
 Unbind the currently bound ray image. More...
 
static void RxRefocusBasic ()
 Focus image to a plane perpendicular to the optical axis, i.e. parallel to the image plane. More...
 
static void RxRemoveComputationFilterMask ()
 Removes the computation filter mask image set by Rx::LFR::CApiLF::RxSetComputationFilterMask. More...
 
static void RxRemoveStatusMessageHandler (Rx::LFR::TFuncStatusMsg pFunc, void *pvContext)
 Removes a registered message callback function. More...
 
static void RxResetParameters ()
 Resets all parameters to their default value. More...
 
static void RxResizeImage (CRxImage &xDstImage, const CRxImage &xSrcImage, int iDivider)
 Resize an image. More...
 
static void RxSaveDepth3dMesh (const Rx::CRxString &sxFilename, bool bUseVD, const double dMaxEdgeLength, const double dCropLeftPerc, const double dCropRightPerc, const double dCropTopPerc, const double dCropBottomPerc)
 Saves the 3D mesh provided by image 'Depth3D' to binary STL format. This requires a valid image computed by Rx::LFR::CApiLF::RxDepth3D. Triangles with a depth-variation larger than 'dMaxEdgeLength' for at least one vertex pair are not added to the mesh. More...
 
static void RxSaveDepth3dMesh (const Rx::CRxString &sxFilename, bool bUseVD, const double dMaxEdgeLength=-1.0)
 Saves the 3D mesh provided by image 'Depth3D' to binary STL format. This requires a valid image computed by Rx::LFR::CApiLF::RxDepth3D. Triangles with a depth-variation larger than 'dMaxEdgeLength' for at least one vertex pair are not added to the mesh. More...
 
static void RxSaveDepth3dPointList (const Rx::CRxString &sxFilename, bool bUseVD)
 Saves the depth values of the current Depth3D image to the given file as a point list. The used format depends on the file extension given as the target file. More...
 
static void RxSaveDepth3dPointList (const Rx::CRxString &sxFilename, bool bUseVD, const double dCropLeftPerc, const double dCropRightPerc, const double dCropTopPerc, const double dCropBottomPerc)
 Saves the depth values of the current Depth3D image to the given file as a point list. The used format depends on the file extension given as the target file. More...
 
static void RxSaveParameter (const Rx::CRxString &sxFilename)
 Saves all writable API parameter to file. Its mandatory to bind a light field image before. More...
 
static void RxSetApplicationDetails (const Rx::CRxString &sxAppName, const Rx::CRxString &sxAppVersion)
 Sets details about the application that uses this runtime currently. Saving a ray file will write this details into the meta data of the file. More...
 
static void RxSetComputationFilterMask (const Rx::CRxImage &xImage)
 Sets the computation filter mask image. More...
 
static void RxSetComputationFilterMask (const Rx::CRxString &sxFilename)
 Sets the computation filter mask image. More...
 
static void RxSetImage (LFR::EImage::ID eImgID, const Rx::CRxImage &xImage)
 Set an internal image. More...
 
static void RxSetPar (Rx::LFR::Params::EApiLF::ID ePar, unsigned uValue)
 Sets the value of a parameter of type unsigned. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxArrayDouble &adValue)
 Sets the value of a parameter of type Rx::CRxArrayDouble. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxArrayString &asValue)
 Sets the value of a parameter of type Rx::CRxArrayString. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxArrayUInt &auValue)
 Sets the value of a parameter of type Rx::CRxArrayUInt. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxString &sValue)
 Sets the value of a parameter of type Rx::CRxString. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, double dValue)
 Sets the value of a parameter of type double. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, unsigned uValue)
 Sets the value of a parameter of type unsigned. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxArrayDouble &adValue)
 Sets the value of a parameter of type Rx::CRxArrayDouble. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxArrayString &asValue)
 Sets the value of a parameter of type Rx::CRxArrayString. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxArrayUInt &auValue)
 Sets the value of a parameter of type Rx::CRxArrayUInt. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxString &sValue)
 Sets the value of a parameter of type Rx::CRxString. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, double dValue)
 Sets the value of a parameter of type double. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, unsigned uValue)
 Sets the value of a parameter of type unsigned. More...
 
static void RxTotalFocus (Rx::LF::ESpace::ID eSpace)
 Focus on a depth surface. More...
 
static void RxUnlockCudaMutex ()
 Unlocks the CUDA Mutex. More...
 

Member Function Documentation

◆ GetInterface()

static void* Rx::LFR::CApiLF::GetInterface ( Interfaces::EApiLF::ID  eInterface)
static

Gets the interface defined by the given interface ID.

Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ RxAddStatusMessageHandler()

static void Rx::LFR::CApiLF::RxAddStatusMessageHandler ( Rx::LFR::TFuncStatusMsg  pFunc,
void *  pvContext 
)
static

Registers a status message callback Function. This function will be called when a new Status Message is fired.

Parameters
pFunc[in] The callback function.
pvContext[in] A Context Pointer which is forwarded to the callback function call.

◆ RxCalibDBAssignGrayImageToBoundCalib()

static void Rx::LFR::CApiLF::RxCalibDBAssignGrayImageToBoundCalib ( const Rx::CRxString sxGUID,
bool  bLoadGrayImg 
)
static

Assign the gray image of the calibration with the given GUID to the bound calibration. This copies the gray image.

Parameters
sxGUID[in] The unique identifier of the calibration with the gray image to copy.
bLoadGrayImg[in] True to load gray image.

◆ RxCalibDBBindCalib()

static void Rx::LFR::CApiLF::RxCalibDBBindCalib ( const Rx::CRxString sxGUID,
bool  bApplyGrayImage 
)
static

Applies the camera calibration defined by GUID sxGUID to the currently bound image in API. Also updates the computational class.

Parameters
sxGUID[in] GUID of the calibration which should be applied to bound image.
bApplyGrayImage[in] If true, the current gray image is replaced by the one from the given calibration.

◆ RxCalibDBBindCalibGrayImage()

static void Rx::LFR::CApiLF::RxCalibDBBindCalibGrayImage ( unsigned &  uRayHandle,
const Rx::CRxString sxGUID 
)
static

Bind gray image of calibration to API and use this image as gray image too. Now you can calibrate a calibration without using a camera.

This function returns the image ID of the bound gray image in uRayHandle.

Warning
After using this image, the memory has to be freed manually by calling Rx::LFR::CApiLF::RxRayDelete.
Parameters
uRayHandle[out] Image ID of the bound gray image.
sxGUID[in] The GUID of the calibration.

◆ RxCalibDBBoundCameraNewCalib()

static void Rx::LFR::CApiLF::RxCalibDBBoundCameraNewCalib ( Rx::CRxString sxNewGUID)
static

Creates a new calibration for the currently bound camera and returns the GUID of the newly created calibration in sxNewGUID.

Parameters
sxNewGUID[out] Unique identifier for the new calibration.

◆ RxCalibDBCameraNewCalib()

static void Rx::LFR::CApiLF::RxCalibDBCameraNewCalib ( Rx::CRxString sxNewGUID,
unsigned  uCamIdx 
)
static

Creates a new calibration for the camera with index uCamIdx and returns the GUID of the newly created calibration in sxNewGUID.

Parameters
sxNewGUID[out] Unique identifier for the new calibration.
uCamIdx[in] id of a camera.

◆ RxCalibDBCreateDataBase()

static void Rx::LFR::CApiLF::RxCalibDBCreateDataBase ( const Rx::CRxString sxCamHardwareId,
bool  bForce 
)
static

Creates a new calibration database for the camera with the HardwareID sxCamHardwareId.

Warning
If a calibration database for this camera already exists, a new one will only be created if bForce is true. Otherwise a Rx::CRxException is thrown.
Parameters
sxCamHardwareId[in] Type of the camera.
bForce[in] Flag whether to overwrite an existing database or not.

◆ RxCalibDBCreateDataBaseForBoundCamera()

static void Rx::LFR::CApiLF::RxCalibDBCreateDataBaseForBoundCamera ( bool  bForce)
static

Creates a new calibration database for the currently bound camera.

If a calibration database for this camera already exists, a new one will only be created if bForce is true. Otherwise a Rx::CRxException is thrown.

Parameters
bForce[in] Flag whether to overwrite an existing database or not.

◆ RxCalibDBCreateDataBaseForCamera()

static void Rx::LFR::CApiLF::RxCalibDBCreateDataBaseForCamera ( unsigned  uCamIdx,
bool  bForce 
)
static

Creates a new calibration database for camera with ID uCamIdx

If a calibration database for this camera already exists, a new one will only be created if bForce is true. Otherwise a Rx::CRxException is thrown.

Parameters
uCamIdx[in] Zero-based index of the camera.
bForce[in] Flag whether to overwrite an existing database or not.

◆ RxCalibDBDeleteCalib()

static void Rx::LFR::CApiLF::RxCalibDBDeleteCalib ( const Rx::CRxString sxGUID)
static

Deletes camera calibration with GUID sxGUID

Warning
If there is no calibration in the database with the given parameters, an Rx::CRxException is thrown.
Parameters
sxGUID[in] The GUID of the calibration to delete.

◆ RxCalibDBGetCameraCalibGuidList()

static void Rx::LFR::CApiLF::RxCalibDBGetCameraCalibGuidList ( Rx::CRxArrayString asxGUIDs,
unsigned  uCamIdx 
)
static

Gets a Rx::CRxArrayString which contains unique IDs of all calibrations for the camera with given index uCamIdx.

Parameters
asxGUIDs[out] Rx::CRxArrayString of GUIDs.
uCamIdx[in] Zero-based index of the camera.

◆ RxCalibDBGetCameraMasterCalibGuid()

static void Rx::LFR::CApiLF::RxCalibDBGetCameraMasterCalibGuid ( Rx::CRxString sxGUID,
unsigned  uCamIdx 
)
static

Gets a Rx::CRxString which contains the GUID of the master calibration of the camera with the given Index.

Parameters
sxGUID[out] Rx::CRxString of GUID.
uCamIdx[in] Zero-based index of the camera.

◆ RxCalibDBGetCompleteCalibGuidList()

static void Rx::LFR::CApiLF::RxCalibDBGetCompleteCalibGuidList ( Rx::CRxArrayString asxGUIDs)
static

Gets a Rx::CRxArrayString which contains GUIDs of all calibrations on this computer.

Parameters
asxGUIDs[out] Rx::CRxArrayString of GUIDS.

◆ RxCalibDBGetCompleteMasterCalibGuidList()

static void Rx::LFR::CApiLF::RxCalibDBGetCompleteMasterCalibGuidList ( Rx::CRxArrayString asxGUIDs)
static

Gets a Rx::CRxArrayString which contains GUIDs of all master calibrations on this computer.

Parameters
asxGUIDs[out] Rx::CRxArrayString of GUIDS.

◆ RxCalibDBLoadBoundCalibMetaData()

static void Rx::LFR::CApiLF::RxCalibDBLoadBoundCalibMetaData ( Rx::CRxCalibMetaData xCalibData)
static

Gets the last applied calibration data.

Parameters
xCalibData[out] Information describing the calibration.

◆ RxCalibDBLoadCalibMetaData()

static void Rx::LFR::CApiLF::RxCalibDBLoadCalibMetaData ( Rx::CRxCalibMetaData xCalibData,
const Rx::CRxString sxGUID 
)
static

Gets Rx::CRxCalibMetaData for the calibration with given GUID sxGUID.

Parameters
xCalibData[out] The calibration data.
sxGUID[in] The GUID of the calibration.

◆ RxCalibDBNewCalib()

static void Rx::LFR::CApiLF::RxCalibDBNewCalib ( Rx::CRxString sxNewGUID,
const Rx::CRxString sxCamHardwareId 
)
static

Creates a new calibration for the camera with the HardwareID sxCamHardwareId and returns the GUID of the newly created calibration in sxNewGUID.

Parameters
sxNewGUID[out] Unique identifier for the new calibration.
sxCamHardwareId[in] Hardware id of the camera.

◆ RxCalibDBReloadBoundCalib()

static void Rx::LFR::CApiLF::RxCalibDBReloadBoundCalib ( bool  bApplyGrayImage)
static

Applies the currently bound camera calibration to the currently bound image in API. Also updates to the computational class.

Precondition
There must be a bound image before calling this function.
Parameters
bApplyGrayImage[in] If true, the current gray image is replaced by the one from the given calibration.

◆ RxCalibDBSaveBoundCalibMetaData()

static void Rx::LFR::CApiLF::RxCalibDBSaveBoundCalibMetaData ( const Rx::CRxCalibMetaData xCalibData)
static

Sets calibration data to the last applied calibration.

Parameters
xCalibData[in] Information describing the calibration.

◆ RxCalibDBSaveCalibMetaData()

static void Rx::LFR::CApiLF::RxCalibDBSaveCalibMetaData ( const Rx::CRxCalibMetaData xCalibData,
const Rx::CRxString sxGUID 
)
static

Sets Rx::CRxCalibMetaData for calibration with given GUID sxGUID.

Only certain parameters will be considered. The GUID, camera serial and camera type cannot be set.

Parameters
xCalibData[in] The calibration meta data.
sxGUID[in] The GUID of the calibration.

◆ RxCalibDBUpdateAndSaveBoundCalib()

static void Rx::LFR::CApiLF::RxCalibDBUpdateAndSaveBoundCalib ( )
static

Gets the calibration from current bound image and saves it to current calibration. Also saves database to disk.

Precondition
There must be a bound image before calling this function.

◆ RxCalibDBUpdateAndSaveCalib()

static void Rx::LFR::CApiLF::RxCalibDBUpdateAndSaveCalib ( const Rx::CRxString sxGUID)
static

Gets the calibration from current bound image and saves it to the calibration defined by GUID sxGUID Also saves database to disk.

Precondition
There must be a bound image before calling this function.
Parameters
sxGUID[in] GUID of the calibration as which the current calibration should be saved.

◆ RxCamBind()

static unsigned Rx::LFR::CApiLF::RxCamBind ( unsigned  uCamIdx)
static

Binds the given camera to the returned API image ID. Call RxCamUnBind to unbind the bound camera. Only one camera can be bound. Calling Rx::LFR::CApiLF::RxCamBind with another camera index results in an Rx::CRxException.

Attention
The internal ray image with ID returned by this function is not deleted from memory when camera is unbound. It has to be deleted explicitly using Rx::LFR::CApiLF::RxRayDelete when it is no longer needed.
Parameters
uCamIdx[in] Zero-based index of the camera.
Returns
The ray image handle of the image into which camera images are captured.

◆ RxCamClose()

static void Rx::LFR::CApiLF::RxCamClose ( unsigned  uCamIdx)
static

Closes the given camera. If the given camera is currently bound, the camera is unbound before closing. Also, if the camera is in capture mode, the capturing is stopped before unbinding.

Parameters
uCamIdx[in] The zero-based index of the camera to close.

◆ RxCamGetPar() [1/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double &  dValue 
)
static

Get the value of a camera parameter of type double from the currently bound camera.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an double parameter an Rx::CRxException is thrown. thrown.
Parameters
ePar[in] The camera parameter ID. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::Exposure
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalance
  • Rx::Interop::Runtime30::Camera::EProperty::Gain
  • Rx::Interop::Runtime30::Camera::EProperty::GainRed
  • Rx::Interop::Runtime30::Camera::EProperty::GainGreen
  • Rx::Interop::Runtime30::Camera::EProperty::GainBlue
  • Rx::Interop::Runtime30::Camera::EProperty::FramesPerSecond
  • Rx::Interop::Runtime30::Camera::EProperty::ActualFramesPerSecond
  • Rx::Interop::Runtime30::Camera::EProperty::Focus
  • Rx::Interop::Runtime30::Camera::EProperty::Iris
  • Rx::Interop::Runtime30::Camera::EProperty::Temperature.
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength1
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength2
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay1
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay2
dValue[out] The returned double value.

◆ RxCamGetPar() [2/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxArrayString aValue 
)
static

Get the value of a camera parameter of type Rx::CRxArrayString.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an string-array parameter an Rx::CRxException is thrown.
Parameters
ePar[in] The camera parameter.
aValue[out] The returned Rx::CRxArrayString value.

◆ RxCamGetPar() [3/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxString sxValue 
)
static

Get the value of a camera parameter of type Rx::CRxString from the currently bound camera.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to a string parameter an Rx::CRxException is thrown.
Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::DriverName
  • Rx::Interop::Runtime30::Camera::EProperty::RaytrixModelName
  • Rx::Interop::Runtime30::Camera::EProperty::InternalModelName
  • Rx::Interop::Runtime30::Camera::EProperty::HardwareId
  • Rx::Interop::Runtime30::Camera::EProperty::Serial
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalanceMode
  • Rx::Interop::Runtime30::Camera::EProperty::SourceImageFolder.
sxValue[out] The returned string value.

◆ RxCamGetPar() [4/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned &  uValue 
)
static

Get the value of a camera parameter of type unsigned integer from the currently bound camera.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an unsigned integer parameter anRx::CRxException is thrown.
Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::IsColor
  • Rx::Interop::Runtime30::Camera::EProperty::IsBayer
  • Rx::Interop::Runtime30::Camera::EProperty::Width
  • Rx::Interop::Runtime30::Camera::EProperty::Height
  • Rx::Interop::Runtime30::Camera::EProperty::OffsetX
  • Rx::Interop::Runtime30::Camera::EProperty::OffsetY
  • Rx::Interop::Runtime30::Camera::EProperty::Func_CalibMainLens
  • Rx::Interop::Runtime30::Camera::EProperty::PIVMode
  • Rx::Interop::Runtime30::Camera::EProperty::IsOpen
  • Rx::Interop::Runtime30::Camera::EProperty::IsCapturing
  • Rx::Interop::Runtime30::Camera::EProperty::TriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::ExternalTriggerMode.
  • Rx::Interop::Runtime30::Camera::EProperty::HasIPConfig
  • Rx::Interop::Runtime30::Camera::EProperty::GlobalStart
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeOn
uValue[out] The returned unsigned integer value.

◆ RxCamGetPar() [5/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double &  dValue 
)
static

Get the value of a camera parameter of type double

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an double parameter an Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::Exposure
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalance
  • Rx::Interop::Runtime30::Camera::EProperty::Gain
  • Rx::Interop::Runtime30::Camera::EProperty::GainRed
  • Rx::Interop::Runtime30::Camera::EProperty::GainGreen
  • Rx::Interop::Runtime30::Camera::EProperty::GainBlue
  • Rx::Interop::Runtime30::Camera::EProperty::FramesPerSecond
  • Rx::Interop::Runtime30::Camera::EProperty::ActualFramesPerSecond
  • Rx::Interop::Runtime30::Camera::EProperty::Focus
  • Rx::Interop::Runtime30::Camera::EProperty::Iris
  • Rx::Interop::Runtime30::Camera::EProperty::Temperature
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength1
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength2
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay1
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay2
dValue[out] The returned double value.

◆ RxCamGetPar() [6/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxArrayString aValue 
)
static

Get the value of a camera parameter of type Rx::CRxArrayString.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to a string-array parameter an Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter.
aValue[out] The returned value.

◆ RxCamGetPar() [7/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxString sxValue 
)
static

Get the value of a camera parameter of type Rx::CRxString.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to a string parameter a Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::DriverName
  • Rx::Interop::Runtime30::Camera::EProperty::RaytrixModelName
  • Rx::Interop::Runtime30::Camera::EProperty::InternalModelName
  • Rx::Interop::Runtime30::Camera::EProperty::HardwareId
  • Rx::Interop::Runtime30::Camera::EProperty::Serial
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalanceMode
  • Rx::Interop::Runtime30::Camera::EProperty::SourceImageFolder.
sxValue[out] The returned string value.

◆ RxCamGetPar() [8/8]

static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned &  uValue 
)
static

Get the value of a camera parameter of type unsigned integer.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an unsigned integer parameter an Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter ID. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::IsColor
  • Rx::Interop::Runtime30::Camera::EProperty::IsBayer
  • Rx::Interop::Runtime30::Camera::EProperty::Width
  • Rx::Interop::Runtime30::Camera::EProperty::Height
  • Rx::Interop::Runtime30::Camera::EProperty::OffsetX
  • Rx::Interop::Runtime30::Camera::EProperty::OffsetY
  • Rx::Interop::Runtime30::Camera::EProperty::Func_CalibMainLens
  • Rx::Interop::Runtime30::Camera::EProperty::PIVMode
  • Rx::Interop::Runtime30::Camera::EProperty::IsOpen
  • Rx::Interop::Runtime30::Camera::EProperty::IsCapturing
  • Rx::Interop::Runtime30::Camera::EProperty::TriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::ExternalTriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::HasIPConfig
  • Rx::Interop::Runtime30::Camera::EProperty::GlobalStart
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeOn
uValue[out] The returned unsigned integer value.

◆ RxCamGetParRange() [1/6]

static void Rx::LFR::CApiLF::RxCamGetParRange ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double &  dMin,
double &  dMax 
)
static

Get the parameter range of a camera parameter of type double from the currently bound camera.

Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalance
  • Rx::Interop::Runtime30::Camera::EProperty::Gain
  • Rx::Interop::Runtime30::Camera::EProperty::GainRed
  • Rx::Interop::Runtime30::Camera::EProperty::GainGreen
  • Rx::Interop::Runtime30::Camera::EProperty::GainBlue.
dMin[out] On return the minimal parameter value.
dMax[out] On return the maximal parameter value.

◆ RxCamGetParRange() [2/6]

static void Rx::LFR::CApiLF::RxCamGetParRange ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxArrayUInt auValues 
)
static

Get set of available values for parameter of type unsigned from the currently bound camera.

Parameters
ePar[in] The camera parameter.
auValues[out] The list of available values.

◆ RxCamGetParRange() [3/6]

static void Rx::LFR::CApiLF::RxCamGetParRange ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the parameter range of a camera parameter of type unsigned integer from the currently bound camera.

Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::IsColor
  • Rx::Interop::Runtime30::Camera::EProperty::IsBayer
  • Rx::Interop::Runtime30::Camera::EProperty::PIVMode
  • Rx::Interop::Runtime30::Camera::EProperty::IsOpen
  • Rx::Interop::Runtime30::Camera::EProperty::IsCapturing
  • Rx::Interop::Runtime30::Camera::EProperty::TriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::ExternalTriggerMode.
uMin[out] On return the minimal parameter value.
uMax[out] On return the maximal parameter value.

◆ RxCamGetParRange() [4/6]

static void Rx::LFR::CApiLF::RxCamGetParRange ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double &  dMin,
double &  dMax 
)
static

Get the parameter range of a camera parameter of type double from the camera with the given index.

Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalance
  • Rx::Interop::Runtime30::Camera::EProperty::Gain
  • Rx::Interop::Runtime30::Camera::EProperty::GainRed
  • Rx::Interop::Runtime30::Camera::EProperty::GainGreen
  • Rx::Interop::Runtime30::Camera::EProperty::GainBlue.
dMin[out] On return the minimal parameter value.
dMax[out] On return the maximal parameter value.

◆ RxCamGetParRange() [5/6]

static void Rx::LFR::CApiLF::RxCamGetParRange ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxArrayUInt auValues 
)
static

Get a set of available values for a parameter of type unsigned integer from the camera with the given index.

Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter.
auValues[out] The list of available values.

◆ RxCamGetParRange() [6/6]

static void Rx::LFR::CApiLF::RxCamGetParRange ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the parameter range of a camera parameter of type unsigned integer from the camera with the given Index.

Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::IsColor
  • Rx::Interop::Runtime30::Camera::EProperty::IsBayer
  • Rx::Interop::Runtime30::Camera::EProperty::PIVMode
  • Rx::Interop::Runtime30::Camera::EProperty::IsOpen
  • Rx::Interop::Runtime30::Camera::EProperty::IsCapturing
  • Rx::Interop::Runtime30::Camera::EProperty::TriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::ExternalTriggerMode.
uMin[out] On return the minimal parameter value.
uMax[out] On return the maximal parameter value.

◆ RxCamIsParameterSupported() [1/2]

static bool Rx::LFR::CApiLF::RxCamIsParameterSupported ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar)
static

Test whether a camera parameter is supported by the currently bound camera.

Attention
All camera and camera calibration parameters can be tested with this function. Use this function to test whether certain parameters are available or not. For example, the parameters: Rx::Interop::Runtime30::Camera::EProperty::Focus, Rx::Interop::Runtime30::Camera::EProperty::Iris, Rx::Interop::Runtime30::Camera::EProperty::Func_CalibMainLens are only available if a camera is attached that allows the direct control of the main lens.
Parameters
ePar[in] The camera parameter.
Returns
True if the parameter is supported, otherwise false.

◆ RxCamIsParameterSupported() [2/2]

static bool Rx::LFR::CApiLF::RxCamIsParameterSupported ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned  uCamIdx 
)
static

Test whether a camera parameter is supported by the camera with the given Index.

Attention
All camera and camera calibration parameters can be tested with this function. Use this function to test whether certain parameters are available or not. For example, the parameters: Rx::Interop::Runtime30::Camera::EProperty::Focus, Rx::Interop::Runtime30::Camera::EProperty::Iris, Rx::Interop::Runtime30::Camera::EProperty::Func_CalibMainLens are only available if a camera is attached that allows the direct control of the main lens.
Parameters
ePar[in] The camera parameter ID.
uCamIdx[in] The camera index.
Returns
True if the parameter is supported, otherwise false.

◆ RxCamOpen()

static void Rx::LFR::CApiLF::RxCamOpen ( unsigned  uCamIdx)
static

Opens the given camera. Camera settings can only be accessed after a camera has been opened. The first call to open initializes the camera too.

Warning
If initialization fails, an Rx::CRxException is thrown that holds the reason of failure.
Parameters
uCamIdx[in] The zero-based index of the camera to open.

◆ RxCamRegister()

static void Rx::LFR::CApiLF::RxCamRegister ( )
static

Register available cameras.

This functions registers all cameras that are currently available. Only registered cameras can be used by the Raytrix API. This function can be called repeatedly to update the list of available cameras. This function has to be called after Rx::LFR::CApiLF::RxCamDriverInit and before any other API camera functions.

◆ RxCamRegisterImageCallback()

static void Rx::LFR::CApiLF::RxCamRegisterImageCallback ( Rx::LFR::TFuncImageCaptured  pFunc,
void *  pvContext 
)
static

Register a callback function which is called when a new image is available.

Parameters
pFunc[in] The callback function pointer.
pvContext[in] The pointer to the context that will be passed to the function.

◆ RxCamRemoveImageCallback()

static void Rx::LFR::CApiLF::RxCamRemoveImageCallback ( )
static

Remove the image callback function.

◆ RxCamRetrieveImage()

static bool Rx::LFR::CApiLF::RxCamRetrieveImage ( )
static

Retrieve a single image from the currently bound camera.

Attention
This function only returns after an image has been retrieved by the camera and is available on the CUDA device. The camera image is retrieved into the image referenced by the ray image handle returned by the function Rx::LFR::CApiLF::RxCamBind. It is also automatically copied onto the CUDA device, so that all processing of the light field image can be done purely on the CUDA device without repeated copying of the light-field image from host to device memory.
Returns
true if an image was available, false otherwise.

◆ RxCamSetPar() [1/6]

static void Rx::LFR::CApiLF::RxCamSetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
const Rx::CRxString sxValue 
)
static

Set the value of a camera property of type Rx::CRxString from the currently bound camera.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an unsigned integer parameter an Rx::CRxException is thrown.
Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Camera
    • Rx::Interop::Runtime30::Camera::EProperty::TapBalanceMode
    • Rx::Interop::Runtime30::Camera::EProperty::SourceImageFolder.
sxValue[in] The string value.

◆ RxCamSetPar() [2/6]

static void Rx::LFR::CApiLF::RxCamSetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double  dValue 
)
static

Set the value of a camera property of type double from the currently bound camera.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an double parameter an Rx::CRxException is thrown.
Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::Exposure
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalance
  • Rx::Interop::Runtime30::Camera::EProperty::Gain
  • Rx::Interop::Runtime30::Camera::EProperty::GainRed
  • Rx::Interop::Runtime30::Camera::EProperty::GainGreen
  • Rx::Interop::Runtime30::Camera::EProperty::GainBlue
  • Rx::Interop::Runtime30::Camera::EProperty::FramesPerSecond
  • Rx::Interop::Runtime30::Camera::EProperty::Focus
  • Rx::Interop::Runtime30::Camera::EProperty::Iris
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength1

Rx::Interop::Runtime30::Camera::EProperty::StrobeLength2

  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay1
    • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay2
Parameters
dValue[in] The double value.

◆ RxCamSetPar() [3/6]

static void Rx::LFR::CApiLF::RxCamSetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned  uValue 
)
static

Set the value of a camera property of type unsigned integer from the currently bound camera.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an unsigned integer parameter an Rx::CRxException is thrown.
Parameters
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::Func_CalibMainLens
  • Rx::Interop::Runtime30::Camera::EProperty::PIVMode
  • Rx::Interop::Runtime30::Camera::EProperty::TriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::ExternalTriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::GlobalStart
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeOn
uValue[in] The unsigned integer value.

◆ RxCamSetPar() [4/6]

static void Rx::LFR::CApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
const Rx::CRxString sxValue 
)
static

Set the value of a camera property of type Rx::CRxString from the camera with the given index.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an unsigned integer parameter an Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalanceMode
  • Rx::Interop::Runtime30::Camera::EProperty::SourceImageFolder.
sxValue[in] The string value.

◆ RxCamSetPar() [5/6]

static void Rx::LFR::CApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double  dValue 
)
static

Set the value of a camera property of type double from the camera with the given index.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an double parameter an Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::Exposure
  • Rx::Interop::Runtime30::Camera::EProperty::TapBalance
  • Rx::Interop::Runtime30::Camera::EProperty::Gain
  • Rx::Interop::Runtime30::Camera::EProperty::GainRed
  • Rx::Interop::Runtime30::Camera::EProperty::GainGreen
  • Rx::Interop::Runtime30::Camera::EProperty::GainBlue
  • Rx::Interop::Runtime30::Camera::EProperty::FramesPerSecond
  • Rx::Interop::Runtime30::Camera::EProperty::Focus
  • Rx::Interop::Runtime30::Camera::EProperty::Iris
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength1
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeLength2
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay1
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeDelay2
dValue[in] The double value.

◆ RxCamSetPar() [6/6]

static void Rx::LFR::CApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned  uValue 
)
static

Set the value of a camera property of type unsigned integer from the camera with the given index.

Warning
Not all parameters may be supported by all Raytrix cameras.
Attention
If the parameter referenced by ePar does not relate to an unsigned integer parameter an Rx::CRxException is thrown.
Parameters
uCamIdx[in] The zero-based camera index.
ePar[in] The camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
  • Rx::Interop::Runtime30::Camera::EProperty::Func_CalibMainLens
  • Rx::Interop::Runtime30::Camera::EProperty::PIVMode
  • Rx::Interop::Runtime30::Camera::EProperty::TriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::ExternalTriggerMode
  • Rx::Interop::Runtime30::Camera::EProperty::GlobalStart
  • Rx::Interop::Runtime30::Camera::EProperty::StrobeOn
uValue[in] The unsigned integer value.

◆ RxCamStartCapture()

static void Rx::LFR::CApiLF::RxCamStartCapture ( )
static

Prepares the currently bound camera for capturing images. If the currently bound camera is already in capture mode, then the function throws an exception.

Attention
Calling this function does not actually capture any images but prepares the camera for capturing images.The function also reads the calibration data of the currently bound camera from the path set as sxCalibPath in Rx::LFR::CApiLF::RxInit.

◆ RxCamStopCapture()

static void Rx::LFR::CApiLF::RxCamStopCapture ( )
static

Stops capturing of the currently bound camera. If the camera is not in capture mode, the function simply returns without error.

◆ RxCamSuspendCapture()

static void Rx::LFR::CApiLF::RxCamSuspendCapture ( bool  bSuspend)
static

Suspend capturing images on the currently bound camera.

This function stops the data transfer between camera and computer but keeps all other capture settings.

Parameters
bSuspendTrue to suspend camera capture and false to restart camera capture.

◆ RxCamTrigger()

static void Rx::LFR::CApiLF::RxCamTrigger ( )
static

Triggers capturing of a single image of the currently bound camera. The image can be retrieved by calling Rx::LFR::CApiLF::RxCamRetrieveImage.

◆ RxCamUnbind()

static void Rx::LFR::CApiLF::RxCamUnbind ( )
static

Unbinds a currently bound camera. If the bound camera is still capturing images, the capturing is stopped and then the camera is unbound.

◆ RxConvertImage()

static void Rx::LFR::CApiLF::RxConvertImage ( Rx::CRxImage xDstImage,
const Rx::CRxImage xSrcImage,
Rx::Interop::Runtime28::EPixelType::ID  eDstPixelType,
Rx::Interop::Runtime28::EDataType::ID  eDstDataType 
)
static

Convert a Rx::CRxImage to a new pixel and data type.

Parameters
xDstImage[out] Destination image.
xSrcImage[in] Reference to the image that is to be converted.
eDstPixelType[in] Pixel type of the converted image.
eDstDataType[in] Data type of the converted image.

◆ RxCudaDeviceCount()

static int Rx::LFR::CApiLF::RxCudaDeviceCount ( )
static

Returns the number of CUDA devices installed.

Returns
The number of CUDA devices.

◆ RxCudaDeviceMemInfo()

static void Rx::LFR::CApiLF::RxCudaDeviceMemInfo ( size_t &  nFreeMem,
size_t &  nTotalMem 
)
static

Return free and total amount of memory on the selected CUDA device.

Parameters
nFreeMem[out] On return contains the amount of free memory in bytes.
nTotalMem[out] On return contains the amount of total memory in bytes.

◆ RxCudaDeviceProp()

static void Rx::LFR::CApiLF::RxCudaDeviceProp ( int  iDevice,
Rx::CRxString sxName,
unsigned &  iCCMajor,
unsigned &  iCCMinor 
)
static

Get the name and the compute capability major and minor version for a CUDA device.

Parameters
iDevice[in] Zero-based ID of the CUDA device.
sxName[out] On return contains the name of the CUDA device.
iCCMajor[out] On return contains the major version of the CUDA device compute capability.
iCCMinor[out] On return contains the minor version of the CUDA device compute capability.

◆ RxCudaSelectDevice()

static void Rx::LFR::CApiLF::RxCudaSelectDevice ( int  iDevice = -1,
bool  bUseGL = false 
)
static

Select a CUDA device.

Attention
This function must be called once and only once per process. The selected CUDA device cannot be changed during runtime.

Use the functions Rx::LFR::CApiLF::RxCudaDeviceCount and Rx::LFR::CApiLF::RxCudaDeviceProp to obtain information about the installed CUDA devices and then select the most appropriate CUDA device with this function. If iDevice is set to -1, the first appropriate CUDA device is selected.

To exchange image data generated by CUDA directly with an OpenGL rendering context on the same device, bUseGL has to be set to true and the CUDA device has to support OpenGL 3.0 or higher. Note that CUDA/DirectX interop is currently not supported.

Parameters
iDevice(Optional) [in] The zero-based CUDA device ID or -1 for automatic selection.
bUseGL(Optional) [in] Flag indicating whether to initialize CUDA for OpenGL interop or not.

◆ RxDepth3D()

static void Rx::LFR::CApiLF::RxDepth3D ( )
static

Object space depth 3D.

This creates a RGBA float image which maps each pixel in the view camera to a 3D position in object space. The R channel is the X coordinate, the G channel is the Y coordinate and the B channel is the Z coordinate. The Z coordinate is relative to the global coordinate system which typically coincides with the light field camera sensor. All coordinate values are given in millimeters.

The image is stored in the image with the ID LFR::EImage::Depth3D.

◆ RxDepthColorCode()

static void Rx::LFR::CApiLF::RxDepthColorCode ( Rx::LF::ESpace::ID  eSpace)
static

Colorizes the depth map created by Rx::LFR::CApiLF::RxDepthMap.The result is stored in the image with the ID LFR::EImage::Depth3D.

Parameters
eSpace[in] The space.

◆ RxDepthMap()

static void Rx::LFR::CApiLF::RxDepthMap ( Rx::LF::ESpace::ID  eSpace)
static

Creates a depth map from the ray depth image created by Rx::LFR::CApiLF::RxDepthRay.

Parameters
eSpace[in] The space.

◆ RxDepthRay()

static void Rx::LFR::CApiLF::RxDepthRay ( )
static

Estimates the depth of the bound ray image and stores the result in the image with the ID LFR::EImage::DepthRay.

◆ RxDongleGetID()

static void Rx::LFR::CApiLF::RxDongleGetID ( int &  iDngID,
int &  iRxID 
)
static

Get the IDs of an attached dongle.

Parameters
iDngID[in] On return contains the hardware dongle ID.
iRxID[in] On return contains the Raytrix dongle ID.

◆ RxFinalize()

static void Rx::LFR::CApiLF::RxFinalize ( )
static

Close any open cameras and free all memory allocated on CUDA device and in host memory.

Warning
Make sure to call this function before ending your program. Otherwise the CUDA device memory will fill up with repeated execution of the software.

◆ RxFreeImage()

static void Rx::LFR::CApiLF::RxFreeImage ( LFR::EImage::ID  eImgID)
static

Frees memory used by the image defined in eImgID. This invalidates the image.

Parameters
eImgID[in] The image ID.

◆ RxGetImage()

static void Rx::LFR::CApiLF::RxGetImage ( LFR::EImage::ID  eImgID,
Rx::CRxImage xImage 
)
static

Get an internal image.

The available internal image IDs are listed in Rx::LFR::CApiLF::EImgID.

Parameters
eImgID[in] Internal image ID. This is not a ray image handle.
xImage[out] On return contains a copy of the specified internal image.

◆ RxGetImageDevicePointer()

static void Rx::LFR::CApiLF::RxGetImageDevicePointer ( LFR::EImage::ID  eImgID,
void *&  pDevicePtr 
)
static

Get the device pointer of an internal image.

Attention
This function returns the image device pointer of an internal image. The available internal image IDs are listed in Rx::LFR::CApiLF::EImgID.
Parameters
eImgID[in] Internal image ID. This is not a ray image handle.
pDevicePtr[out] On return contains the internal image's device pointer.

◆ RxGetImageDevicePointerPitch()

static size_t Rx::LFR::CApiLF::RxGetImageDevicePointerPitch ( LFR::EImage::ID  eImgID)
static

Gets device pointer pitch, which is the width in bytes of the allocation. Given a row and column of an array element of type T, the address is computed as:

T* pElement = (T*)((char*)BaseAddress + Row * pitch) + Column;

Parameters
eImgID[in] Internal image ID. This is not a ray image handle.
Returns
The image device pointer pitch.

◆ RxGetImageFormat()

static void Rx::LFR::CApiLF::RxGetImageFormat ( LFR::EImage::ID  eImgID,
Rx::CRxImageFormat xF 
)
static

Get the image format of an internal image.

Attention
This function returns the image format of an internal image without copying the actual image from the CUDA device to host memory. The available internal image IDs are listed in Rx::LFR::CApiLF::EImgID.
Parameters
eImgID[in] Internal image ID. This is not a ray image handle.
xF[out] On return contains the internal image's format.

◆ RxGetImageHistogram()

static void Rx::LFR::CApiLF::RxGetImageHistogram ( LFR::EImage::ID  eImgID,
Rx::CRxArrayUInt xHistogram,
unsigned &  uChannels 
)
static

Calculates the histogram of the image with the given eImgID and stores the histogram data in the given array. This array must be large enough to hold 4 * 256 numbers. The number of calculated channels is returned in uChannels.

Parameters
eImgID[in] The image ID.
xHistogram[out] A reference of Rx::CRxArrayUInt where the histogram will be stored.
uChannels[out] The number of channels.

◆ RxGetImageMinMax()

static void Rx::LFR::CApiLF::RxGetImageMinMax ( LFR::EImage::ID  eImgID,
unsigned  uChannel,
float &  fMin,
float &  fMax 
)
static

Finds the minimum and maximum value of the given eImgID

Parameters
eImgID[in] The image ID.
uChannel[in] The channel.
fMin[out] The minimum value.
fMax[out] The maximum value.

◆ RxGetPar() [1/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::EApiLF::ID  ePar,
unsigned &  uValue 
)
static

Gets the value of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uValue[out] The value of the parameter.

◆ RxGetPar() [2/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
double &  dValue 
)
static

Gets the value of a parameter of type double.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
dValue[out] The value of the parameter.

◆ RxGetPar() [3/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxArrayDouble adValue 
)
static

Gets the value of a parameter of type Rx::CRxArrayDouble.

Attention
If the parameter given is not of type Rx::CRxArrayDouble, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
adValue[out] The value of the parameter.

◆ RxGetPar() [4/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxArrayString asValue 
)
static

Gets the value of a parameter of type Rx::CRxArrayString.

Attention
If the parameter given is not of type Rx::CRxArrayString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
asValue[out] The value of the parameter.

◆ RxGetPar() [5/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxArrayUInt auValue 
)
static

Gets the value of a parameter of type Rx::CRxArrayUInt.

Attention
If the parameter given is not of type Rx::CRxArrayUInt, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
auValue[out] The value of the parameter.

◆ RxGetPar() [6/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxString sValue 
)
static

Gets the value of a parameter of type Rx::CRxString.

Attention
If the parameter given is not of type Rx::CRxString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
sValue[out] The value of the parameter.

◆ RxGetPar() [7/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
unsigned &  uValue 
)
static

Gets the value of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uValue[out] The value of the parameter.

◆ RxGetPar() [8/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
double &  dValue 
)
static

Gets the value of a parameter of type double.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
dValue[out] The value of the parameter.

◆ RxGetPar() [9/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxArrayDouble adValue 
)
static

Gets the value of a parameter of type Rx::CRxArrayDouble.

Attention
If the parameter given is not of type Rx::CRxArrayDouble, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
adValue[out] The value of the parameter.

◆ RxGetPar() [10/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxArrayString asValue 
)
static

Gets the value of a parameter of type Rx::CRxArrayString.

Attention
If the parameter given is not of type Rx::CRxArrayString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
asValue[out] The value of the parameter.

◆ RxGetPar() [11/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxArrayUInt auValue 
)
static

Gets the value of a parameter of type Rx::CRxArrayUInt.

Attention
If the parameter given is not of type Rx::CRxArrayUInt, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
auValue[out] The value of the parameter.

◆ RxGetPar() [12/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxString sValue 
)
static

Gets the value of a parameter of type Rx::CRxString.

Attention
If the parameter given is not of type Rx::CRxString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
sValue[out] The value of the parameter.

◆ RxGetPar() [13/13]

static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
unsigned &  uValue 
)
static

Gets the value of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uValue[out] The value of the parameter.

◆ RxGetParName() [1/3]

static void Rx::LFR::CApiLF::RxGetParName ( Rx::LFR::Params::EApiLF::ID  ePar,
Rx::CRxString sValue 
)
static

Get the string representation of a parameter.

Parameters
ePar[in] The parameter ID.
sValue[out] On return contains the parameter string representation.

◆ RxGetParName() [2/3]

static void Rx::LFR::CApiLF::RxGetParName ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxString sValue 
)
static

Get the string representation of a parameter.

Parameters
ePar[in] The parameter ID.
sValue[out] On return contains the parameter string representation.

◆ RxGetParName() [3/3]

static void Rx::LFR::CApiLF::RxGetParName ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxString sValue 
)
static

Get the string representation of a parameter.

Parameters
ePar[in] The parameter ID.
sValue[out] On return contains the parameter string representation.

◆ RxGetParProperties() [1/3]

static void Rx::LFR::CApiLF::RxGetParProperties ( Rx::LFR::Params::EApiLF::ID  ePar,
Rx::CRxString sValue,
bool &  bReadAccess,
bool &  bWriteAccess,
EValueType::ID eParameterType 
)
static

Get the Properties of a parameter.

Parameters
ePar[in] The parameter ID.
sValue[out] On return contains the parameter string representation.
bReadAccess[out] On return contains the parameter ReadAccess flag.
bWriteAccess[out] On return contains the parameter WriteAccess flag.
eParameterType[out] On return contains the parameter DataType.

◆ RxGetParProperties() [2/3]

static void Rx::LFR::CApiLF::RxGetParProperties ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxString sValue,
bool &  bReadAccess,
bool &  bWriteAccess,
EValueType::ID eParameterType 
)
static

Get the Properties of a parameter.

Parameters
ePar[in] The parameter ID.
sValue[out] On return contains the parameter string representation.
bReadAccess[out] On return contains the parameter ReadAccess flag.
bWriteAccess[out] On return contains the parameter WriteAccess flag.
eParameterType[out] On return contains the parameter DataType.

◆ RxGetParProperties() [3/3]

static void Rx::LFR::CApiLF::RxGetParProperties ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxString sValue,
bool &  bReadAccess,
bool &  bWriteAccess,
EValueType::ID eParameterType 
)
static

Get the Properties of a parameter.

Parameters
ePar[in] The parameter ID.
sValue[out] On return contains the parameter string representation.
bReadAccess[out] On return contains the parameter ReadAccess flag.
bWriteAccess[out] On return contains the parameter WriteAccess flag.
eParameterType[out] On return contains the parameter DataType.

◆ RxGetParRange() [1/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::EApiLF::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [2/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECalib::ID  ePar,
double &  dMin,
double &  dMax 
)
static

Get the value range of a parameter of type double.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
dMin[out] The min allowed value of the parameter.
dMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [3/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECalib::ID  ePar,
size_t &  iMinCount,
size_t &  iMaxCount,
double &  dMin,
double &  dMax 
)
static

Get the value range of an array parameter of type double and the min and max allowed number of elements in the array.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
iMinCount[out] The min number of values allowed in the array.
iMaxCount[out] The max number of values allowed in the array.
dMin[out] The min allowed value of the parameter.
dMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [4/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECalib::ID  ePar,
size_t &  iMinCount,
size_t &  iMaxCount,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of an array parameter of type unsigned and the min and max allowed number of elements in the array.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
iMinCount[out] The min number of values allowed in the array.
iMaxCount[out] The max number of values allowed in the array.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [5/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECalib::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [6/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECudaCompute::ID  ePar,
double &  dMin,
double &  dMax 
)
static

Get the value range of a parameter of type double.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
dMin[out] The min allowed value of the parameter.
dMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [7/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECudaCompute::ID  ePar,
size_t &  iMinCount,
size_t &  iMaxCount,
double &  dMin,
double &  dMax 
)
static

Get the value range of an array parameter of type double and the min and max allowed number of elements in the array.

Parameters
ePar[in] The ID of the parameter.
iMinCount[out] The min number of values allowed in the array.
iMaxCount[out] The max number of values allowed in the array.
dMin[out] The min allowed value of the parameter.
dMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [8/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECudaCompute::ID  ePar,
size_t &  iMinCount,
size_t &  iMaxCount,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of an array parameter of type unsigned and the min and max allowed number of elements in the array.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
iMinCount[out] The min number of values allowed in the array.
iMaxCount[out] The max number of values allowed in the array.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.

◆ RxGetParRange() [9/9]

static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECudaCompute::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.

◆ RxGetReleaseDate()

static void Rx::LFR::CApiLF::RxGetReleaseDate ( int &  iDay,
int &  iMonth,
int &  iYear 
)
static

Gets the release date of this version of the Raytrix Light Field Runtime. Can be called without initializing the API.

Parameters
iDay[out] The release day.
iMonth[out] The release month.
iYear[out] The release year.

◆ RxGlGetContext()

static void Rx::LFR::CApiLF::RxGlGetContext ( )
static

Assigns the OpenGL context created by Rx::LFR::CApiLF::RxCudaSelectDevice to the calling thread.

Precondition
Before assigning a context, the thread that has the context currently must release it via Rx::LFR::CApiLF::RxGlReleaseContext().

◆ RxGlGetTextureID() [1/2]

static unsigned Rx::LFR::CApiLF::RxGlGetTextureID ( LFR::EImage::ID  eImgID)
static

Get the OpenGL texture ID corresponding to given parameter eImgID The content of this texture can be updated with the Rx::LFR::CApiLF::RxGlUpdateTex function.

Parameters
eImgID[in] The image ID.
Returns
The identifier for the OpenGL texture.

◆ RxGlGetTextureID() [2/2]

static void Rx::LFR::CApiLF::RxGlGetTextureID ( LFR::EImage::ID  eImgID,
unsigned &  uGlTextureID 
)
static

Get the OpenGL texture ID corresponding to given parameter eImgID The content of this texture can be updated with the Rx::LFR::CApiLF::RxGlUpdateTex function.

Parameters
eImgID[in] The image ID.
uGlTextureID[out] Identifier for the OpenGL texture.

◆ RxGlGetVersion()

static void Rx::LFR::CApiLF::RxGlGetVersion ( int &  iMajor,
int &  iMinor 
)
static

Get OpenGL version of current OpenGL rendering context.

Warning
This function only returns a meaningful result if it is called within an active OpenGL rendering context.
Parameters
iMajor[out] On return contains the OpenGL major version.
iMinor[out] On return contains the OpenGL minor version.

◆ RxGlReleaseContext()

static void Rx::LFR::CApiLF::RxGlReleaseContext ( )
static

Releases the OpenGL context owned by the calling thread.

Warning
Another thread can get the released context via Rx::LFR::CApiLF::RxGlGetContext. If the calling thread hasn't a valid context this function will do nothing and only returns.

◆ RxGlSetContext()

static void Rx::LFR::CApiLF::RxGlSetContext ( )
static

Store the threads current OpenGL context. The context can be retrieved with RxGlGetContext() and released with RxGlReleaseContext.

◆ RxGlUpdateTex()

static void Rx::LFR::CApiLF::RxGlUpdateTex ( LFR::EImage::ID  eImgID,
bool  bCreateMipmaps = false 
)
static

Copy CUDA result images to OpenGL textures.

The internal image IDs that can be used with this function are those declared in Rx::LFR::CApiLF::EImgID.

Parameters
eImgID[in] Internal image ID.
bCreateMipmaps[in] (optional) True to create mipmaps.

◆ RxGrid()

static void Rx::LFR::CApiLF::RxGrid ( )
static

Show a lens grid overlay on the raw ray image.

The result is written to the internal image with ID LFR::EImage::Grid.

◆ RxGridCalibrateMaster()

static bool Rx::LFR::CApiLF::RxGridCalibrateMaster ( )
static

Automatically calibrates the MLA rotation steps and the MLA reflection. Requires master dongle feature.

Returns
Returns false if estimation has failed because of wrong exposure or aperture configuration.

◆ RxGridCalibrateMla()

static bool Rx::LFR::CApiLF::RxGridCalibrateMla ( )
static

Automatically calibrates MLA grid. Requires master dongle feature.

Returns
Returns false if estimation has failed because of wrong exposure or aperture configuration.

◆ RxGridCalibrateMli()

static bool Rx::LFR::CApiLF::RxGridCalibrateMli ( )
static

Automatically calibrates MLI grid.

Returns
Returns false if estimation has failed because of wrong exposure or aperture configuration.

◆ RxGridDataImage()

static void Rx::LFR::CApiLF::RxGridDataImage ( )
static

Pre Process a ray image with a minimal Set of preprocessing parameter.

This function does the same preprocessing as Rx::LFR::CApiLF::RxPreProcess but all preprocessing flags with exception of debayering are deactivated.

◆ RxGridEnableCalibrationCallback()

static void Rx::LFR::CApiLF::RxGridEnableCalibrationCallback ( bool  bEnable)
static

Enables or disables a callback during automatic grid calibration via RxGridCalibrateMli, RxGridCalibrateMla and RxGridCalibrateMaster.

Parameters
bEnable[in] True to enable, false to disable.

◆ RxHasFeature() [1/2]

static bool Rx::LFR::CApiLF::RxHasFeature ( Rx::Dongle::ERuntimeFeature::ID  eFeatureID)
static

Test whether the Dongle offers a given feature.

Attention
Not all functions of this API are necessarily available. This depends on the currently active license, which is defined by the Raytrix dongle attached to the system.
Parameters
eFeatureID[in] The feature to check for availability.
Returns
true if the feature is available, false otherwise.

◆ RxHasFeature() [2/2]

static bool Rx::LFR::CApiLF::RxHasFeature ( unsigned  uFeatureIDs)
static

Test whether the Dongle offers the given features.

Attention
Not all functions of this API are necessarily available. This depends on the currently active license, which is defined by the Raytrix dongle attached to the system. To check whether a set of features is available you can OR the corresponding feature IDs. The feature IDs are available through defines all starting with Rx::Dongle::ERuntimeFeature::ID. For example, to test for the features multiview and 3D evaluation call: if(Rx::LFR::Net::ApiLF::RxHasFeature(Rx::Dongle::ERuntimeFeature::SDK | Rx::Dongle::ERuntimeFeature::RxLive)){...}
Parameters
uFeatureIDs[in] A OR-ed list of Rx::Dongle::ERuntimeFeature::ID to check for availability.
Returns
true if the feature is available, false otherwise.

◆ RxInit()

static void Rx::LFR::CApiLF::RxInit ( bool  bUseCUDA = true,
const Rx::CRxString sxLibPath = "",
const Rx::CRxString sxCalibPath = "",
void *  pvData = 0 
)
static

Initialize the Raytrix API.

Precondition
Before any light field images can be loaded, recorded or processed a CUDA device has to be chosen using the function Rx::LFR::CApiLF::RxCudaSelectDevice.To access Raytrix cameras you first have to call Rx::LFR::CApiLF::RxCamDriverInit and Rx::LFR::CApiLF::RxCamRegister.
Attention
After executing Rx::LFR::CApiLF::RxInit neither a CUDA device is selected nor a camera device initialized.
Parameters
bUseCUDA(Optional) [in] If set to false only functionality that does not rely on CUDA can be used.
sxLibPath(Optional) [in] The absolute path to the camera driver DLLs (Rx.CameraNet.Type*.dll).
sxCalibPath(Optional) [in] The absolute path to the camera calibration directories.
pvData(Optional) [in] Reserved. Must be zero.

◆ RxIsImageValid()

static bool Rx::LFR::CApiLF::RxIsImageValid ( LFR::EImage::ID  eImgID)
static

Test whether an internal image is valid.

Attention
The available internal image IDs are listed in Rx::LFR::CApiLF::EImgID.
Parameters
eImgID[in] Internal image ID. This is not a ray image handle.
Returns
True if the image is valid, false otherwise.

◆ RxLoadParameter()

static void Rx::LFR::CApiLF::RxLoadParameter ( const Rx::CRxString sxFilename)
static

Loads all writable API parameter from file. Its mandatory to bind a light field image before.

Parameters
sxFilename[in] The filename.

◆ RxLockCudaMutex()

static bool Rx::LFR::CApiLF::RxLockCudaMutex ( int  iTimeout)
static

Locks the CUDA Mutex.

Parameters
iTimeout[in] If the mutex is locked, the timeout defines the time in ms until a Rx::CRxException is thrown.
Returns
True if it succeeds, false if it fails.

◆ RxMultiview()

static void Rx::LFR::CApiLF::RxMultiview ( )
static

Creates a multi view image and stores the result in the image with the ID LFR::EImage::Multiview_ViewCamera.

◆ RxPreProcess()

static void Rx::LFR::CApiLF::RxPreProcess ( )
static

Pre-Process a ray image.

The ray image that is bound with RxRayBind() is a raw lightfield image. Before this ray image can be used by the actual processing algorithms, it has to be adjusted by applying a rectification of a possible radial distortion and by adjusting its brightness and color with respect to a gray image.

◆ RxProject()

static bool Rx::LFR::CApiLF::RxProject ( Rx::CRxArray< double > &  adTrgPoints,
const Rx::CRxArray< double > &  adSrcPoints,
LF::ESpace::ID  eTrgSpace,
LF::ESpace::ID  eSrcSpace 
)
static

Projects an array of points from the given source space into the given target space.

Parameters
adTrgPoints[out] The array of projected points.
adSrcPoints[in] The array of points to project.
eTrgSpace[in] The target space.
eSrcSpace[in] The source space.
Returns
True if all projections succeeded, false if at least one projection failed (out of sensor or image projection).

◆ RxRayBind()

static void Rx::LFR::CApiLF::RxRayBind ( unsigned  uRayHandle)
static

Bind a ray image to perform computations on.

Parameters
uRayHandle[in] The handle of the light field image that is to be used for calculations.

◆ RxRayCalibSaveXML()

static void Rx::LFR::CApiLF::RxRayCalibSaveXML ( unsigned  uRayHandle,
const Rx::CRxString sxFilename 
)
static

Save calibration data of ray image in XML format.

Parameters
uRayHandle[in] The handle of the ray image whose calibration data is to be saved.
sxFilename[in] The complete file path under which to save the data.

◆ RxRayCalibXmlGet()

static void Rx::LFR::CApiLF::RxRayCalibXmlGet ( unsigned  uRayHandle,
Rx::CRxString sxXml 
)
static

Get the calibration data of the given ray image as XML string.

Parameters
uRayHandle[in] The handle of the ray image whose calibration data is to be saved.
sxXml[out] On successful return contains the XML string.

◆ RxRayDelete()

static void Rx::LFR::CApiLF::RxRayDelete ( unsigned  uRayHandle)
static

Delete the image with the given handle.

Attention
If the ray image referenced by uRayHandle is currently bound by a previous call to Rx::LFR::CApiLF::RxRayBind or Rx::LFR::CApiLF::RxCamStartCapture, the image is not deleted and an exception is thrown.
Parameters
uRayHandle[in] The handle of the ray image to delete.

◆ RxRayGetCameraFormat()

static const void* Rx::LFR::CApiLF::RxRayGetCameraFormat ( )
static

Gets the pointer to the internal camera format.

Returns
The pointer to the internal camera format.

◆ RxRayGetFormat()

static void Rx::LFR::CApiLF::RxRayGetFormat ( unsigned  uRayHandle,
Rx::CRxImageFormat xF 
)
static

Get the image format of a ray image.

Parameters
uRayHandle[in] The ray image handle.
xF[out] On return contains the image format of the ray image.

◆ RxRayGetFrameID() [1/2]

static unsigned Rx::LFR::CApiLF::RxRayGetFrameID ( )
static

Gets the frame ID of the bound light field image. Used when working with sequences or cameras.

Returns
The frame ID.

◆ RxRayGetFrameID() [2/2]

static unsigned Rx::LFR::CApiLF::RxRayGetFrameID ( unsigned  uRayHandle)
static

Gets the frame ID of the given light field image. Used when working with sequences or cameras.

Parameters
uRayHandle[in] The handle of the light field image created by calling RxRayLoad, RxRaySeqBind or RxCamBind.
Returns
The frame ID.

◆ RxRayGetMetaData() [1/2]

static void Rx::LFR::CApiLF::RxRayGetMetaData ( Rx::CRxMetaData xMetaData)
static

Get the meta data of the bound ray image.

The meta data class CRxMetaData can contain any number of meta data elements of types unsigned, double and Rx::CRxString. You can get, set and add elements to the meta data instance and store this together with the ray image.

Parameters
xMetaData[out] Contains the ray image meta data on return.

◆ RxRayGetMetaData() [2/2]

static void Rx::LFR::CApiLF::RxRayGetMetaData ( Rx::CRxMetaData xMetaData,
unsigned  uImgID 
)
static

Get meta data of a ray image.

The meta data class CRxMetaData can contain any number of meta data elements of types unsigned, double and Rx::CRxString. You can get, set and add elements to the meta data instance and store this together with the ray image.

Parameters
xMetaData[out] Contains the ray image meta data on return.
uImgID[in] The ray image handle.

◆ RxRayGetRaw()

static void Rx::LFR::CApiLF::RxRayGetRaw ( unsigned  uRayHandle,
Rx::CRxImage xRawImage 
)
static

Get the ray image as Rx::CRxImage instance.

Parameters
uRayHandle[in] The ray image handle.
xRawImage[out] On return contains the ray image.

◆ RxRayGetTimestap() [1/2]

static double Rx::LFR::CApiLF::RxRayGetTimestap ( )
static

Gets the image timestamp of the bound light field image. Is 0 if the image hasn't a valid timestamp. You can use this timestamp and the timestamp of another camera or sequence frame to determine the time between them.

Returns
The timestamp.

◆ RxRayGetTimestap() [2/2]

static double Rx::LFR::CApiLF::RxRayGetTimestap ( unsigned  uRayHandle)
static

Gets the image timestamp of the given light field image. Is 0 if the image hasn't a valid timestamp. You can use this timestamp and the timestamp of another camera or sequence frame to determine the time between them.

Parameters
uRayHandle[in] The handle of the light field image created by calling RxRayLoad, RxRaySeqBind or RxCamBind.
Returns
The timestamp.

◆ RxRayLoad()

static unsigned Rx::LFR::CApiLF::RxRayLoad ( const Rx::CRxString sxFilename)
static

Load a ray image.

Parameters
sxFilename[in] The ray image filename.
Returns
The ray image handle of the ray image.

◆ RxRayNew()

◆ RxRaySave() [1/2]

static void Rx::LFR::CApiLF::RxRaySave ( const Rx::CRxString sxFilename,
bool  bUpdateMetaData 
)
static

Saves the bound light field image to the given file.

This augments the meta data with information from the current light field environment and saves them along the image data. These information contain the current algorithm parameter.

Parameters
sxFilename[in] The complete file path to save the image to.
bUpdateMetaData[in] True to update the current meta data so that they are available in the next call to RxRayGetMetaData; false to update a COPY of the current meta data so that they are NOT available in the next call to RxRayGetMetaData.

◆ RxRaySave() [2/2]

static void Rx::LFR::CApiLF::RxRaySave ( unsigned  uRayHandle,
const Rx::CRxString sxFilename,
bool  bUpdateMetaData 
)
static

Saves the given light field image to the given file.

This augments the meta data with information from the current light field environment and saves them along the image data. These information contain the current algorithm parameter.

Parameters
uRayHandle[in] The handle of the light field image created by calling RxRayLoad, RxRaySeqBind or RxCamBind.
sxFilename[in] The complete file path to save the image to.
bUpdateMetaData[in] True to update the current meta data so that they are available in the next call to RxRayGetMetaData; false to update a COPY of the current meta data so that they are NOT available in the next call to RxRayGetMetaData.

◆ RxRaySeqBind()

static unsigned Rx::LFR::CApiLF::RxRaySeqBind ( unsigned  uRaySeqHandle)
static

Bind a ray sequence for use by other API functions.

Only one ray sequence for reading and one ray sequence for writing can be bound at a time. When a ray sequence is bound for reading, then any currently bound ray image is unbound, a new prototype ray image of the format of the ray sequence is created and bound and the first image of the ray sequence is loaded into the bound ray image.The ID of the newly created ray image is returned. No new ray image can be bound until the ray sequence is unbound using Rx::LFR::CApiLF::RxRaySeqUnbind .If a camera capture is started while a ray sequence is bound for reading, the ray sequence is automatically unbound. While a camera is in capture mode, no ray sequence can be bound for reading.

When a ray sequence is bound for writing a ray image must already be bound. If the ray sequence is empty up to now, the ray sequence is created for the currently bound image type and only ray images of the same format can be written to the ray sequence.Also only ray images of the same format can be bound while the ray sequence is bound. If the ray sequence already contains images, it can only be bound if the currently bound ray image format is of the same format as the ray sequence. If a ray sequence in write mode is bound and camera capture is started the ray sequence is also unbound if the image formats do not agree.To capture frames from a camera, first start the camera capture, then bind the ray sequence in write mode and set the parameter Rx::LFR::Params::EApiLF::RaySeq_AutoStoreCamFrames to 1. The value returned is the ray image ID of the currently bound ray image.

Parameters
uRaySeqHandle[in] The handle of the ray sequence.
Returns
The currently bound ray image handle.

◆ RxRaySeqClose()

static unsigned Rx::LFR::CApiLF::RxRaySeqClose ( unsigned  uRaySeqHandle)
static

Close a ray sequence.

Warning
Closing a ray sequence also unbinds the corresponding ray image. The ray sequence ID becomes invalid once the ray sequence has been closed.
Parameters
uRaySeqHandle[in] The handle of the ray sequence.
Returns
The number of frames written (if sequence was in write mode).

◆ RxRaySeqGetDoubleShotMode()

static unsigned Rx::LFR::CApiLF::RxRaySeqGetDoubleShotMode ( unsigned  uRaySeqHandle)
static

Get the doubleshot mode used when recording the given sequence.

Parameters
uRaySeqHandle[in] The handle of the ray sequence.
Returns
The doubleshot mode.

◆ RxRaySeqGetFileSize()

static void Rx::LFR::CApiLF::RxRaySeqGetFileSize ( unsigned  uRaySeqHandle,
unsigned __int64 &  uFileSize 
)
static

Get the total file size of the ray sequence in bytes.

Parameters
uRaySeqHandle[in] The handle of the ray sequence.
uFileSize[out] Contains the total size of the ray sequence in bytes.

◆ RxRaySeqGetFrameBufferUsedCount()

static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameBufferUsedCount ( unsigned  uRaySeqHandle)
static

Get number of frame buffers in use.

Parameters
uRaySeqHandle[in] The ray sequence handle.
Returns
The number of frames in use in the frame buffer.

◆ RxRaySeqGetFrameCount() [1/2]

static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameCount ( )
static

Get number of frames in ray sequence that is currently bound in read mode.

Returns
Number of frames in currently bound sequence.

◆ RxRaySeqGetFrameCount() [2/2]

static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameCount ( unsigned  uRaySeqHandle)
static

Receive ray sequence frame count.

Parameters
uRaySeqHandle[in] Handle of the ray sequence.
Returns
Number of frames in the ray sequence.

◆ RxRaySeqGetFrameIndex()

static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameIndex ( unsigned  uRaySeqHandle)
static

Get the current frame index of the given ray sequence.

Parameters
uRaySeqHandle[in] The ray sequence id.
Returns
The frame index.

◆ RxRaySeqIsBound()

static bool Rx::LFR::CApiLF::RxRaySeqIsBound ( )
static

Determines if a sequence is bound for reading to the API.

Returns
True if a sequence in read mode is bound, false if not.

◆ RxRaySeqMoveFrameIndex()

static void Rx::LFR::CApiLF::RxRaySeqMoveFrameIndex ( unsigned  uRaySeqHandle,
int  iStep 
)
static

Move the frame index relative to the current position in the given ray sequence.

Parameters
uRaySeqHandle[in] The handle of the ray sequence.
iStep[in] The number of frames to move. Negative values move frame index backward.

◆ RxRaySeqOpen()

static unsigned Rx::LFR::CApiLF::RxRaySeqOpen ( const Rx::CRxString sxFilename,
unsigned  uMode,
unsigned  uFrameBufferCount 
)
static

Open a ray sequence. Depending on the mode a ray sequence can be opened for reading or writing.

Attention
Returns the ray sequence handle.
Parameters
sxFilename[in] The complete file path to the ray sequence.
uMode[in] The ray sequence mode. This is a combination of elements of Rx::ERaySeqMode .
uFrameBufferCount[in] The number of frame buffers used for buffered writing/reading.
Returns
The ray sequence handle. This id is used in other functions to reference the ray sequence.

◆ RxRaySeqRead()

static void Rx::LFR::CApiLF::RxRaySeqRead ( )
static

Read a frame from the currently bound ray sequence.

Precondition
A ray sequence in read mode must have been bound beforehand.
Attention
This function reads the current frame from the ray sequence and advances the frame pointer by one frame.The ray image is read into the currently bound ray image and the image is automatically copied onto the CUDA device. This means that the function Rx::LFR::CApiLF::RxRaySeqGetFrameIndex returns a frame index higher than before after calling Rx::LFR::CApiLF::RxRaySeqRead.

◆ RxRaySeqSetFrameIndex()

static void Rx::LFR::CApiLF::RxRaySeqSetFrameIndex ( unsigned  uRaySeqHandle,
unsigned  uFrameIdx 
)
static

Set the current frame index of the given ray sequence.

Parameters
uRaySeqHandle[in] The handle of the ray sequence.
uFrameIdx[in] The frame index.

◆ RxRaySeqUnbind()

static void Rx::LFR::CApiLF::RxRaySeqUnbind ( unsigned  uRaySeqHandle)
static

Unbind a ray sequence. If a ray sequence in write mode is unbound, the currently bound ray image stays bound. No more images can be written to the ray sequence once it has been unbound, however, the ray sequence has not been closed. It can be bound again to write further ray images to it.

If a ray sequence in read mode is unbound, the currently bound ray image stays bound. The ray image is therefore also not removed from memory.

Warning
You will have to unbind the ray image and then delete it to free all memory.
Parameters
uRaySeqHandle[in] The ray sequence handle of the ray sequence to unbind.

◆ RxRaySeqWrite()

static void Rx::LFR::CApiLF::RxRaySeqWrite ( )
static

Write currently bound ray image to currently bound ray sequence.

This function appends the currently bound ray image to the bound ray sequence.

Attention
To automatically write frames captured from a camera device to the bound ray sequence, set the parameter Rx::LFR::Params::EApiLF::RaySeq_AutoStoreCamFrames to 1.

◆ RxRaySetMetaData()

static void Rx::LFR::CApiLF::RxRaySetMetaData ( unsigned  uRayHandle,
const Rx::CRxMetaData xMetaData 
)
static

Set meta data of a ray image.

Attention
The meta data class CRxMetaData can contain any number of meta data elements of types unsigned, double and Rx::CRxString. You can get, set and add elements to the meta data instance and store this together with the ray image.
Parameters
uRayHandle[in] The ray image handle.
xMetaData[in] The ray image meta data to set.

◆ RxRayUnbind()

static void Rx::LFR::CApiLF::RxRayUnbind ( )
static

Unbind the currently bound ray image.

Warning
If no ray image is bound the function does nothing. If a ray sequence or a camera is bound, the function throws an exception.

◆ RxRefocusBasic()

static void Rx::LFR::CApiLF::RxRefocusBasic ( )
static

Focus image to a plane perpendicular to the optical axis, i.e. parallel to the image plane.

This focuses to a plane perpendicular to the optical axis. To change the focal plane, use parameter Rx::LFR::Params::EApiLF::Focus_RelativeFocusPlane. A relative focus value of zero refocuses to the plane furthest away from the viewer and a value of 1 would focus to a plane that passes through the object side focal point of the recording lens.

The result is written to the internal image with ID LFR::EImage::RefocusBasic. The size of this resultant image is set in relation to the ray image size via the parameter Rx::LFR::Params::EApiLF::Focus_ImageDivisor.

◆ RxRemoveComputationFilterMask()

static void Rx::LFR::CApiLF::RxRemoveComputationFilterMask ( )
static

Removes the computation filter mask image set by Rx::LFR::CApiLF::RxSetComputationFilterMask.

◆ RxRemoveStatusMessageHandler()

static void Rx::LFR::CApiLF::RxRemoveStatusMessageHandler ( Rx::LFR::TFuncStatusMsg  pFunc,
void *  pvContext 
)
static

Removes a registered message callback function.

Parameters
pFunc[in] The function.
pvContext[in] If non-null, the context.

◆ RxResetParameters()

static void Rx::LFR::CApiLF::RxResetParameters ( )
static

Resets all parameters to their default value.

◆ RxResizeImage()

static void Rx::LFR::CApiLF::RxResizeImage ( CRxImage xDstImage,
const CRxImage xSrcImage,
int  iDivider 
)
static

Resize an image.

Parameters
xDstImage[out] The target image to store the result.
xSrcImage[in] The image that is to be resized.
iDivider[in] The image size divider. For example, if iDivder = 2, then the resultant image size is half the original size.

◆ RxSaveDepth3dMesh() [1/2]

static void Rx::LFR::CApiLF::RxSaveDepth3dMesh ( const Rx::CRxString sxFilename,
bool  bUseVD,
const double  dMaxEdgeLength,
const double  dCropLeftPerc,
const double  dCropRightPerc,
const double  dCropTopPerc,
const double  dCropBottomPerc 
)
static

Saves the 3D mesh provided by image 'Depth3D' to binary STL format. This requires a valid image computed by Rx::LFR::CApiLF::RxDepth3D. Triangles with a depth-variation larger than 'dMaxEdgeLength' for at least one vertex pair are not added to the mesh.

Parameters
sxFilename[in] The complete file path.
bUseVD[in] True to save the mesh in virtual depth units instead of metric units.
dMaxEdgeLength[in] Limit for depth-variation in vertices. -1 = infinity.
dCropLeftPerc[in] The percentage of the cropping on the left side.
dCropRightPerc[in] The percentage of the cropping on the right side.
dCropTopPerc[in] The percentage of the cropping on the top side.
dCropBottomPerc[in] The percentage of the cropping on the bottom side.

◆ RxSaveDepth3dMesh() [2/2]

static void Rx::LFR::CApiLF::RxSaveDepth3dMesh ( const Rx::CRxString sxFilename,
bool  bUseVD,
const double  dMaxEdgeLength = -1.0 
)
static

Saves the 3D mesh provided by image 'Depth3D' to binary STL format. This requires a valid image computed by Rx::LFR::CApiLF::RxDepth3D. Triangles with a depth-variation larger than 'dMaxEdgeLength' for at least one vertex pair are not added to the mesh.

Parameters
sxFilename[in] The complete file path.
bUseVD[in] True to save the mesh in virtual depth units instead of metric units.
dMaxEdgeLength[in] (Optional) Limit for depth-variation in vertices. -1 = infinity.

◆ RxSaveDepth3dPointList() [1/2]

static void Rx::LFR::CApiLF::RxSaveDepth3dPointList ( const Rx::CRxString sxFilename,
bool  bUseVD 
)
static

Saves the depth values of the current Depth3D image to the given file as a point list. The used format depends on the file extension given as the target file.

The formats available are:

ASCII:

  • .txt – one point per row as plain text (default when no other extension matches, .txt is appended to filename)
  • .xyz – conform to the 'xyz' file standard (augments txt format with small header)

Binary:

Parameters
sxFilename[in] The complete file path.
bUseVD[in] True to save the point list in virtual depth units instead of metric units.

◆ RxSaveDepth3dPointList() [2/2]

static void Rx::LFR::CApiLF::RxSaveDepth3dPointList ( const Rx::CRxString sxFilename,
bool  bUseVD,
const double  dCropLeftPerc,
const double  dCropRightPerc,
const double  dCropTopPerc,
const double  dCropBottomPerc 
)
static

Saves the depth values of the current Depth3D image to the given file as a point list. The used format depends on the file extension given as the target file.

The formats available are:

ASCII:

  • .txt – one point per row as plain text (default when no other extension matches, .txt is appended to filename)
  • .xyz – conform to the 'xyz' file standard (augments txt format with small header)

Binary:

Parameters
sxFilename[in] The complete file path.
bUseVD[in] True to save the point list in virtual depth units instead of metric units.
dCropLeftPerc[in] The percentage of the cropping on the left side.
dCropRightPerc[in] The percentage of the cropping on the right side.
dCropTopPerc[in] The percentage of the cropping on the top side.
dCropBottomPerc[in] The percentage of the cropping on the bottom side.

◆ RxSaveParameter()

static void Rx::LFR::CApiLF::RxSaveParameter ( const Rx::CRxString sxFilename)
static

Saves all writable API parameter to file. Its mandatory to bind a light field image before.

Parameters
sxFilename[in] The filename.

◆ RxSetApplicationDetails()

static void Rx::LFR::CApiLF::RxSetApplicationDetails ( const Rx::CRxString sxAppName,
const Rx::CRxString sxAppVersion 
)
static

Sets details about the application that uses this runtime currently. Saving a ray file will write this details into the meta data of the file.

Parameters
sxAppName[in] The application name.
sxAppVersion[in] The application version.

◆ RxSetComputationFilterMask() [1/2]

static void Rx::LFR::CApiLF::RxSetComputationFilterMask ( const Rx::CRxImage xImage)
static

Sets the computation filter mask image.

This image is used to reduce the number of lenses used for depth estimation (Rx::LFR::CApiLF::RxDepthRay).

It must have the same dimension as the raw image and a pixel type of Rx::Interop::Runtime28::EPixelType::Lum and a data type of Rx::Interop::Runtime28::EDataType::UByte.

Each lens of the raw image has a lens center that can be rounded to a pixel. If this pixel has the value 255 in the filter mask image, the corresponding lens is used. If this pixel has another value, the lens is not used.

Parameters
xImage[in] The computation filter mask image.

◆ RxSetComputationFilterMask() [2/2]

static void Rx::LFR::CApiLF::RxSetComputationFilterMask ( const Rx::CRxString sxFilename)
static

Sets the computation filter mask image.

This image is used to reduce the number of lenses used for depth estimation (Rx::LFR::CApiLF::RxDepthRay).

It must have the same dimension as the raw image and a pixel type of Rx::Interop::Runtime28::EPixelType::Lum and a data type of Rx::Interop::Runtime28::EDataType::UByte.

Each lens of the raw image has a lens center that can be rounded to a pixel. If this pixel has the value 255 in the filter mask image, the corresponding lens is used. If this pixel has another value, the lens is not used.

Parameters
sxFilename[in] The complete file path of the computation filter mask image to load.

◆ RxSetImage()

static void Rx::LFR::CApiLF::RxSetImage ( LFR::EImage::ID  eImgID,
const Rx::CRxImage xImage 
)
static

Set an internal image.

The available internal image IDs are listed in Rx::LFR::CApiLF::EImgID.

A new ray image can be set with eImgID set to LFR::EImage::Raw and a new gray image with LFR::EImage::Gray. RxSetImage copies the image data into the currently bound ray image and to the CUDA device. For the new ray image to be used in calculations you must call Rx::LFR::CApiLF::RxPreProcess after setting the ray and the gray image.

You can also circumvent the internal preprocessing of the ray image by writing directly the processed ray image to the CUDA device with LFR::EImage::Processed_Normalized. However, this will not change the LFR::EImage::Raw or LFR::EImage::Gray images currently bound.

Parameters
eImgID[in] Internal image ID. This is not a ray image handle.
xImage[in] The image to copy into the specified internal image.

◆ RxSetPar() [1/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::EApiLF::ID  ePar,
unsigned  uValue 
)
static

Sets the value of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uValue[in] The value of the parameter.

◆ RxSetPar() [2/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxArrayDouble adValue 
)
static

Sets the value of a parameter of type Rx::CRxArrayDouble.

Attention
If the parameter given is not of type Rx::CRxArrayDouble, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
adValue[in] The value of the parameter.

◆ RxSetPar() [3/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxArrayString asValue 
)
static

Sets the value of a parameter of type Rx::CRxArrayString.

Attention
If the parameter given is not of type Rx::CRxArrayString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
asValue[in] The value of the parameter.

◆ RxSetPar() [4/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxArrayUInt auValue 
)
static

Sets the value of a parameter of type Rx::CRxArrayUInt.

Attention
If the parameter given is not of type Rx::CRxArrayUInt, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
auValue[in] The value of the parameter.

◆ RxSetPar() [5/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxString sValue 
)
static

Sets the value of a parameter of type Rx::CRxString.

Attention
If the parameter given is not of type Rx::CRxString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
sValue[in] The value of the parameter.

◆ RxSetPar() [6/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
double  dValue 
)
static

Sets the value of a parameter of type double.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
dValue[in] The value of the parameter.

◆ RxSetPar() [7/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
unsigned  uValue 
)
static

Sets the value of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uValue[in] The value of the parameter.

◆ RxSetPar() [8/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxArrayDouble adValue 
)
static

Sets the value of a parameter of type Rx::CRxArrayDouble.

Attention
If the parameter given is not of type Rx::CRxArrayDouble, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
adValue[in] The value of the parameter.

◆ RxSetPar() [9/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxArrayString asValue 
)
static

Sets the value of a parameter of type Rx::CRxArrayString.

Attention
If the parameter given is not of type Rx::CRxArrayString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
asValue[in] The value of the parameter.

◆ RxSetPar() [10/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxArrayUInt auValue 
)
static

Sets the value of a parameter of type Rx::CRxArrayUInt.

Attention
If the parameter given is not of type Rx::CRxArrayUInt, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
auValue[in] The value of the parameter.

◆ RxSetPar() [11/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxString sValue 
)
static

Sets the value of a parameter of type Rx::CRxString.

Attention
If the parameter given is not of type Rx::CRxString, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
sValue[in] The value of the parameter.

◆ RxSetPar() [12/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
double  dValue 
)
static

Sets the value of a parameter of type double.

Attention
If the parameter given is not of type double, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
dValue[in] The value of the parameter.

◆ RxSetPar() [13/13]

static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
unsigned  uValue 
)
static

Sets the value of a parameter of type unsigned.

Attention
If the parameter given is not of type unsigned, an Rx::CRxException is thrown.
Parameters
ePar[in] The ID of the parameter.
uValue[in] The value of the parameter.

◆ RxTotalFocus()

static void Rx::LFR::CApiLF::RxTotalFocus ( Rx::LF::ESpace::ID  eSpace)
static

Focus on a depth surface.

In principle, each pixel of the result image can be focused individually. The function Rx::LFR::CApiLF::RxTotalFocus makes this property available by focusing the ray image to the depth surface given in the internal depth image related to the target space that is selected.

When setting a depth image with Rx::LFR::CApiLF::RxSetImage it need not have the same dimensions as the resultant image. The given depth map is implicitly scaled to the size of the resultant refocused image.

If the size of the given depth map image is 1x1 pixel, the depth encoded for that pixel is applied to all focused pixel. The depth image has to be of pixel type Rx::Interop::Runtime28::EPixelType::Lum and data type Rx::Interop::Runtime28::EDataType::UByte. The pixel value range of [0,255] is mapped to [0,1] for the interpretation as depth.

Attention
The result is written to the internal image related to the given space. The size of this resultant image is set in relation to the ray image size via the parameter Rx::LFR::Params::EApiLF::Focus_ImageDivisor.
Parameters
eSpace[in] The space.

◆ RxUnlockCudaMutex()

static void Rx::LFR::CApiLF::RxUnlockCudaMutex ( )
static

Unlocks the CUDA Mutex.