Raytrix Light Field SDK  4.0
Logo
Static Public Member Functions | List of all members
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 and returns the GUID of the newly created calibration in sxNewGUID. More...
 
static void RxCalibDBCameraNewCalib (Rx::CRxString &sxNewGUID, unsigned uCamIdx)
 Creates a new calibration 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 camera with name sxCamHardwareId. More...
 
static void RxCalibDBCreateDataBaseForBoundCamera (bool bForce)
 Creates a new calibration database for 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 calibration for 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 this camera. More...
 
static void RxCalibDBGetCompleteCalibGuidList (Rx::CRxArrayString &asxGUIDs)
 Gets a Rx::CRxArrayString which contains GUIDs of all calibration on this computer. More...
 
static void RxCalibDBGetCompleteMasterCalibGuidList (Rx::CRxArrayString &asxGUIDs)
 Gets a Rx::CRxArrayString which contains GUIDs of all master calibration 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 calibration with given GUID sxGUID. More...
 
static void RxCalibDBNewCalib (Rx::CRxString &sxNewGUID, const Rx::CRxString &sxCamHardwareId)
 Creates a new calibration 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 current 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 calibration (The camera 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 camera 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 (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxString &sxValue)
 Get a camera parameter of type Rx::CRxString. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned &uValue)
 Get a camera parameter of type unsigned integer. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double &dValue)
 Get camera parameter of type double More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxArrayString &aValue)
 Get camera parameter of type Rx::CRxArrayString. More...
 
static void RxCamGetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, Rx::CRxString &sxValue)
 Get 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 a camera parameter of type unsigned integer from the currently bound camera. More...
 
static void RxCamGetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double &dValue)
 Get 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 camera parameter of type Rx::CRxArrayString. 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. 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 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 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 (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. More...
 
static bool RxCamIsParameterSupported (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned uCamIdx)
 Test whether a camera parameter is supported by the given camera. 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 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 (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, const Rx::CRxString &sxValue)
 Set a camera property of type Rx::CRxString. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned uValue)
 Set a camera property of type unsigned integer. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double dValue)
 Set a camera property of type double. More...
 
static void RxCamSetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, const Rx::CRxString &sxValue)
 Set a camera property of type Rx::CRxString from the currently bound camera. More...
 
static void RxCamSetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, unsigned uValue)
 Set a camera property of type unsigned integer from the currently bound camera. More...
 
static void RxCamSetPar (Rx::Interop::Runtime30::Camera::EProperty::ID ePar, double dValue)
 Set a camera property of type double 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. 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 void RxConvertImage (Rx::Interop::Runtime28::IImage *pDstImage, const Rx::Interop::Runtime28::IImage *pSrcImage, Rx::Interop::Runtime28::EPixelType::ID eDstPixelType, Rx::Interop::Runtime28::EDataType::ID eDstDataType, bool bCreate)
 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 RxGetImage (LFR::EImage::ID eImgID, Rx::Interop::Runtime28::IImage *pImage, bool bCreate)
 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. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, unsigned &uValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, double &dValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxString &sValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxArrayUInt &auValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxArrayDouble &adValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECudaCompute::ID ePar, Rx::CRxArrayString &asValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, unsigned &uValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, double &dValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxString &sValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxArrayUInt &auValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxArrayDouble &adValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Params::ECalib::ID ePar, Rx::CRxArrayString &asValue)
 Gets the value of a parameter. 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::ECudaCompute::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 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::ECudaCompute::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 RxGetParRange (Rx::LFR::Params::EApiLF::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Params::ECudaCompute::ID ePar, unsigned &uMin, unsigned &uMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Params::ECudaCompute::ID ePar, double &dMin, double &dMax)
 Get the value range of a parameter. 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 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, double &dMin, double &dMax)
 Get the value range of an array parameter 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. More...
 
static void RxGetParRange (Rx::LFR::Params::ECalib::ID ePar, double &dMin, double &dMax)
 Get the value range of a parameter. 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 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, double &dMin, double &dMax)
 Get the value range of an array parameter and the min and max allowed number of elements in the array. 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 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 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 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 (unsigned uIntImgIDs, 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 (unsigned uFeatureIDs)
 Test whether the Dongle offers the given features. More...
 
static bool RxHasFeature (Rx::Dongle::ERuntimeFeature::ID eFeatureID)
 Test whether the Dongle offers a given feature. 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::CRxArrayDouble &adTrgPoints, const Rx::CRxArrayDouble &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 double RxProjectDepth (double dSrcDepth, LF::ESpace::ID eSrcSpace, bool bSrcVD, LF::ESpace::ID eTrgSpace, bool bTrgVD)
 Projects the given source depth value 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 ID. 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 (unsigned uRayHandle)
 Gets the frame ID of the given light field image. Used when working with sequences or cameras. More...
 
static unsigned RxRayGetFrameID ()
 Gets the frame ID of the bound light field image. Used when working with sequences or cameras. More...
 
static void RxRayGetMetaData (Rx::CRxMetaData &xMetaData, unsigned uImgID)
 Get meta data of a ray image. More...
 
static void RxRayGetMetaData (Rx::CRxMetaData &xMetaData)
 Get the meta data of the bound ray image. More...
 
static void RxRayGetRaw (unsigned uRayHandle, Rx::CRxImage &xRawImage)
 Get the ray image as Rx::CRxImage instance. More...
 
static void RxRayGetRaw (unsigned uRayHandle, Rx::Interop::Runtime28::IImage *pRawImage, bool bCreate)
 Get the ray image. 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 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 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 (unsigned uRayHandle, const Rx::CRxString &sxFilename, bool bUpdateMetaData)
 Saves the given light field image to the given file. More...
 
static void RxRaySave (const Rx::CRxString &sxFilename, bool bUpdateMetaData)
 Saves the bound 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 (unsigned uRaySeqHandle)
 Receive ray sequence frame count. More...
 
static unsigned RxRaySeqGetFrameCount ()
 Get number of frames in ray sequence that is currently bound in read mode. More...
 
static unsigned RxRaySeqGetFrameIndex (unsigned uRaySeqHandle)
 Get current frame index of 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 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 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 (Rx::Interop::Runtime28::IImage *xDstImage, Rx::Interop::Runtime28::IImage *xSrcImage, int iDivider)
 Resize an image. 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 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 RxSaveDepth3dPointList (const Rx::CRxString &sxFilename, bool bUseVD)
 Saves the depth values of the current Depth3D image to the given file as a point list. 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. 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 RxSetImage (LFR::EImage::ID eImgID, const Rx::Interop::Runtime28::IImage *pImage)
 Set an internal image. More...
 
static void RxSetPar (Rx::LFR::Params::EApiLF::ID ePar, unsigned uValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, unsigned uValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, double dValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxString &sValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxArrayUInt &auValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxArrayDouble &adValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECudaCompute::ID ePar, const Rx::CRxArrayString &asValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, unsigned uValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, double dValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxString &sValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxArrayUInt &auValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxArrayDouble &adValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Params::ECalib::ID ePar, const Rx::CRxArrayString &asValue)
 Sets the value of a parameter. 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

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

Gets the interface defined by the given interface ID.

Parameters
eInterfaceThe interface ID.
Returns
Null if it fails, else the interface.
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
pFuncThe callback function.
pvContext[in] A Context Pointer which is forwarded to the callback function call.
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
sxGUIDThe unique identifier of the calibration with the gray image to copy.
bLoadGrayImgtrue to load gray image.
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
sxGUIDGUID of the calibration which should be applied to bound image.
bApplyGrayImageIf true, the current gray image is replaced by the one from the given calibration.
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, you have to delete it to free the memory by calling Rx::LFR::CApiLF::RxRayDelete.
Parameters
uRayHandle[out] Image ID of the bound gray image.
sxGUIDThe GUID of the calibration.
static void Rx::LFR::CApiLF::RxCalibDBBoundCameraNewCalib ( Rx::CRxString sxNewGUID)
static

Creates a new calibration and returns the GUID of the newly created calibration in sxNewGUID.

Parameters
sxNewGUID[in] Unique identifier for the new calibration.
static void Rx::LFR::CApiLF::RxCalibDBCameraNewCalib ( Rx::CRxString sxNewGUID,
unsigned  uCamIdx 
)
static

Creates a new calibration and returns the GUID of the newly created calibration in sxNewGUID.

Parameters
sxNewGUID[in] Unique identifier for the new calibration.
uCamIdx[in] id of a camera.
static void Rx::LFR::CApiLF::RxCalibDBCreateDataBase ( const Rx::CRxString sxCamHardwareId,
bool  bForce 
)
static

Creates a new calibration database for camera with name 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
sxCamHardwareIdType of the camera.
bForceFlags whether to overwrite an existing database or not.
static void Rx::LFR::CApiLF::RxCalibDBCreateDataBaseForBoundCamera ( bool  bForce)
static

Creates a new calibration database for 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
bForceFlags whether to overwrite an existing database or not.
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
uCamIdxZero-based index of the camera.
bForceFlags whether to overwrite an existing database or not.
static void Rx::LFR::CApiLF::RxCalibDBDeleteCalib ( const Rx::CRxString sxGUID)
static

Deletes camera calibration with GUID sxGUID

Warning
If there is no calibration database for given parameters, an Rx::CRxException is thrown.
Parameters
sxGUIDThe GUID of the calibration to delete.
static void Rx::LFR::CApiLF::RxCalibDBGetCameraCalibGuidList ( Rx::CRxArrayString asxGUIDs,
unsigned  uCamIdx 
)
static

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

Parameters
asxGUIDs[out] Rx::CRxArrayString of GUIDs.
uCamIdxZero-based index of the camera.
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 this camera.

Parameters
sxGUID[out] Rx::CRxString of GUID.
uCamIdxZero-based index of the camera.
static void Rx::LFR::CApiLF::RxCalibDBGetCompleteCalibGuidList ( Rx::CRxArrayString asxGUIDs)
static

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

Parameters
asxGUIDs[out] Rx::CRxArrayString of GUIDS.
static void Rx::LFR::CApiLF::RxCalibDBGetCompleteMasterCalibGuidList ( Rx::CRxArrayString asxGUIDs)
static

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

Parameters
asxGUIDs[out] Rx::CRxArrayString of GUIDS.
static void Rx::LFR::CApiLF::RxCalibDBLoadBoundCalibMetaData ( Rx::CRxCalibMetaData xCalibData)
static

Gets the last applied calibration data.

Parameters
xCalibData[out] Information describing the calibration.
static void Rx::LFR::CApiLF::RxCalibDBLoadCalibMetaData ( Rx::CRxCalibMetaData xCalibData,
const Rx::CRxString sxGUID 
)
static

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

Parameters
xCalibData[out] The calibration data.
sxGUIDThe GUID of the calibration.
static void Rx::LFR::CApiLF::RxCalibDBNewCalib ( Rx::CRxString sxNewGUID,
const Rx::CRxString sxCamHardwareId 
)
static

Creates a new calibration and returns the GUID of the newly created calibration in sxNewGUID.

Parameters
sxNewGUID[in] Unique identifier for the new calibration.
sxCamHardwareIdHardware id of the camera.
static void Rx::LFR::CApiLF::RxCalibDBReloadBoundCalib ( bool  bApplyGrayImage)
static

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

Precondition
There must be a bound image before calling this function.
Parameters
bApplyGrayImageIf true, the current gray image is replaced by the one from the given calibration.
static void Rx::LFR::CApiLF::RxCalibDBSaveBoundCalibMetaData ( const Rx::CRxCalibMetaData xCalibData)
static

Sets calibration data to the last applied calibration.

Parameters
xCalibDataInformation describing the calibration.
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
xCalibDataThe calibration data.
sxGUIDThe GUID of the calibration.
static void Rx::LFR::CApiLF::RxCalibDBUpdateAndSaveBoundCalib ( )
static

Gets calibration (The camera 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.
static void Rx::LFR::CApiLF::RxCalibDBUpdateAndSaveCalib ( const Rx::CRxString sxGUID)
static

Gets (The camera 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
sxGUIDGUID of the calibration which should be saved.
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
uCamIdxZero-based index of the camera.
Returns
The ray image handle of the image into which camera images are captured.
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
uCamIdxThe zero-based index of the camera to close.
static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxString sxValue 
)
static

Get 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
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
sxValue[out] The returned string value.
static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned &  uValue 
)
static
static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double &  dValue 
)
static
static void Rx::LFR::CApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxArrayString aValue 
)
static

Get 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
uCamIdxThe zero-based camera index.
eParThe camera parameter.
aValue[out] The returned value.
static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxString sxValue 
)
static

Get 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
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
sxValue[out] The returned string value.
static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned &  uValue 
)
static
static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double &  dValue 
)
static

Get 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
eParThe camera parameter ID. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
dValue[out] The returned double value.
static void Rx::LFR::CApiLF::RxCamGetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
Rx::CRxArrayString aValue 
)
static

Get 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
eParThe camera parameter.
aValue[out] The returned Rx::CRxArrayString value.
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.

Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
uMin[out] On return the minimal parameter value.
uMax[out] On return the maximal parameter value.
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

Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
dMin[out] On return the minimal parameter value.
dMax[out] On return the maximal parameter value.
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

Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter.
auValues[out] The list of available values.
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
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
uMin[out] On return the minimal parameter value.
uMax[out] On return the maximal parameter value.
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
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
dMin[out] On return the minimal parameter value.
dMax[out] On return the maximal parameter value.
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.

Parameters
eParThe camera parameter.
auValues[out] The list of available values.
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 given 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
eParThe camera parameter ID.
uCamIdxThe camera index.
Returns
True if the parameter is supported, otherwise false.
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
eParThe camera parameter.
Returns
True if the parameter is supported, otherwise false.
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
uCamIdxThe zero-based index of the camera to open.
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.

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
pFuncThe callback function pointer.
pvContext[in,out] The void pointer of the Context.
static void Rx::LFR::CApiLF::RxCamRemoveImageCallback ( )
static

Remove the image callback function.

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.
static void Rx::LFR::CApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
const Rx::CRxString sxValue 
)
static

Set a camera property 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 an unsigned integer parameter an Rx::CRxException is thrown.
Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
sxValueThe string value.
static void Rx::LFR::CApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned  uValue 
)
static

Set a camera property 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
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
uValueThe unsigned integer value.
static void Rx::LFR::CApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double  dValue 
)
static
static void Rx::LFR::CApiLF::RxCamSetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
const Rx::CRxString sxValue 
)
static

Set 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
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
sxValueThe string value.
static void Rx::LFR::CApiLF::RxCamSetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
unsigned  uValue 
)
static

Set 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
eParThe camera parameter. Allowed parameters from Rx::Interop::Runtime30::Camera::EProperty are:
uValueThe unsigned integer value.
static void Rx::LFR::CApiLF::RxCamSetPar ( Rx::Interop::Runtime30::Camera::EProperty::ID  ePar,
double  dValue 
)
static
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.
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.

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

Suspend capturing images.

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.
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.

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.

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.
xSrcImageReference to the image.
eDstPixelTypePixel type of the converted image.
eDstDataTypeData type of the converted image.
static void Rx::LFR::CApiLF::RxConvertImage ( Rx::Interop::Runtime28::IImage pDstImage,
const Rx::Interop::Runtime28::IImage pSrcImage,
Rx::Interop::Runtime28::EPixelType::ID  eDstPixelType,
Rx::Interop::Runtime28::EDataType::ID  eDstDataType,
bool  bCreate 
)
static

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

Parameters
pDstImage[out] Destination image.
pSrcImageReference to the image.
eDstPixelTypePixel type of the converted image.
eDstDataTypeData type of the converted image.
bCreateif true, memory for the destination image is created by this function.
static int Rx::LFR::CApiLF::RxCudaDeviceCount ( )
static

Returns the number of CUDA devices installed.

Returns
The number of CUDA devices.
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.
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
iDeviceZero-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.
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.

For further details on CUDA/OpenGL interop.

Parameters
iDevice(Optional) The zero-based CUDA device ID or -1 for automatic selection.
bUseGL(Optional) Flag indicating whether to initialize CUDA for OpenGL interop. or not.
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.

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
eSpaceThe space.
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
eSpaceThe space.
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.

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.
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.
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
eImgIDThe image ID.
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
eImgIDInternal image ID. This is not a ray image handle.
xImage[out] On return contains a copy of the specified internal image.
static void Rx::LFR::CApiLF::RxGetImage ( LFR::EImage::ID  eImgID,
Rx::Interop::Runtime28::IImage pImage,
bool  bCreate 
)
static

Get an internal image.

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

Parameters
eImgIDInternal image ID. This is not a ray image handle.
pImage[out] On return contains a copy of the specified internal image.
bCreateIf true, a new image is created in pImage. Otherwise, it is ensured that pImage refers to an image the same size and type as the respective internal image, and then the internal image is copied.
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
eImgIDInternal image ID. This is not a ray image handle.
pDevicePtr[out] On return contains the internal image's device pointer.
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
eImgIDInternal image ID. This is not a ray image handle.
Returns
The image device pointer pitch.
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
eImgIDInternal image ID. This is not a ray image handle.
xF[out] On return contains the internal image's format.
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
eImgIDThe image ID.
xHistogram[out] A reference of Rx::CRxArrayUInt where the histogram will be stored.
uChannels[out] The number of channels.
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
eImgIDThe image ID.
uChannelThe channel.
fMin[out] The minimum value.
fMax[out] The maximum value.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::EApiLF::ID  ePar,
unsigned &  uValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
uValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
unsigned &  uValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
uValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
double &  dValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
dValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxString sValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
sValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxArrayUInt auValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
auValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxArrayDouble adValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
adValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxArrayString asValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
asValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
unsigned &  uValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
uValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
double &  dValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
dValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxString sValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
sValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxArrayUInt auValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
auValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxArrayDouble adValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
adValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetPar ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxArrayString asValue 
)
static

Gets the value of a parameter.

Parameters
eParThe ID of the parameter.
asValue[out] The value of the parameter.
static void Rx::LFR::CApiLF::RxGetParName ( Rx::LFR::Params::EApiLF::ID  ePar,
Rx::CRxString sValue 
)
static

Get the string representation of a parameter.

Parameters
eParThe parameter ID.
sValue[out] On return contains the parameter string representation.
static void Rx::LFR::CApiLF::RxGetParName ( Rx::LFR::Params::ECudaCompute::ID  ePar,
Rx::CRxString sValue 
)
static

Get the string representation of a parameter.

Parameters
eParThe parameter ID.
sValue[out] On return contains the parameter string representation.
static void Rx::LFR::CApiLF::RxGetParName ( Rx::LFR::Params::ECalib::ID  ePar,
Rx::CRxString sValue 
)
static

Get the string representation of a parameter.

Parameters
eParThe parameter ID.
sValue[out] On return contains the parameter string representation.
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
eParThe 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.
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
eParThe 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.
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
eParThe 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.
static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::EApiLF::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of a parameter.

Parameters
eParThe ID of the parameter.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.
static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECudaCompute::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of a parameter.

Parameters
eParThe ID of the parameter.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.
static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECudaCompute::ID  ePar,
double &  dMin,
double &  dMax 
)
static

Get the value range of a parameter.

Parameters
eParThe ID of the parameter.
dMin[out] The min allowed value of the parameter.
dMax[out] The max allowed value of the parameter.
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 and the min and max allowed number of elements in the array.

Parameters
eParThe 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.
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 and the min and max allowed number of elements in the array.

Parameters
eParThe 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.
static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECalib::ID  ePar,
unsigned &  uMin,
unsigned &  uMax 
)
static

Get the value range of a parameter.

Parameters
eParThe ID of the parameter.
uMin[out] The min allowed value of the parameter.
uMax[out] The max allowed value of the parameter.
static void Rx::LFR::CApiLF::RxGetParRange ( Rx::LFR::Params::ECalib::ID  ePar,
double &  dMin,
double &  dMax 
)
static

Get the value range of a parameter.

Parameters
eParThe ID of the parameter.
dMin[out] The min allowed value of the parameter.
dMax[out] The max allowed value of the parameter.
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 and the min and max allowed number of elements in the array.

Parameters
eParThe 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.
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 and the min and max allowed number of elements in the array.

Parameters
eParThe 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.
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.
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().
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
eImgIDThe image ID.
uGlTextureID[out] Identifier for the OpenGL texture.
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
eImgIDThe image ID.
Returns
The identifier for the OpenGL texture.
static void Rx::LFR::CApiLF::RxGlGetVersion ( int &  iMajor,
int &  iMinor 
)
static

Get OpenGL version of current OpenGL rendering context.

Warning
This function only return 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.
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.
static void Rx::LFR::CApiLF::RxGlSetContext ( )
static

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

static void Rx::LFR::CApiLF::RxGlUpdateTex ( unsigned  uIntImgIDs,
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. Combining a number of image IDs by OR, updates all the related textures.

Parameters
uIntImgIDsInternal image ID. A number of internal image IDs can be combined with OR operation.
bCreateMipmaps(optional) the create mipmaps flag.
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.

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 been failed because of wrong exposure or aperture configuration.
static bool Rx::LFR::CApiLF::RxGridCalibrateMla ( )
static

Automatically calibrates MLA grid. Requires master dongle feature.

Returns
Returns false if estimation has been failed because of wrong exposure or aperture configuration.
static bool Rx::LFR::CApiLF::RxGridCalibrateMli ( )
static

Automatically calibrates MLI grid.

Returns
Returns false if estimation has been failed because of wrong exposure or aperture configuration.
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.

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

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

Parameters
bEnableTrue to enable, false to disable.
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
uFeatureIDsA OR-ed list of Rx::Dongle::ERuntimeFeature::ID to check for availability.
Returns
true if the feature is available, false otherwise.
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
eFeatureIDThe feature to check for availability.
Returns
true if the feature is available, false otherwise.
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) If set to false only functionality that does not rely on CUDA can be used.
sxLibPath(Optional) The absolute path to the camera driver DLLs (Rx.CameraNet.Type*.dll).
sxCalibPath(Optional) The absolute path to the camera calibration directories.
pvData[in,out] (Optional) Reserved. Must be zero.
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
eImgIDInternal image ID. This is not a ray image handle.
Returns
true if the image is valid, false otherwise.
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
sxFilenameThe filename.
static bool Rx::LFR::CApiLF::RxLockCudaMutex ( int  iTimeout)
static

Locks the CUDA Mutex.

Parameters
iTimeoutIf 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.
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.

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.

static bool Rx::LFR::CApiLF::RxProject ( Rx::CRxArrayDouble adTrgPoints,
const Rx::CRxArrayDouble 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.
adSrcPointsThe array of points to project.
eTrgSpaceThe target space.
eSrcSpaceThe source space.
Returns
True if all projections succeeded, false if at least one projection failed (out of sensor or image projection).
static double Rx::LFR::CApiLF::RxProjectDepth ( double  dSrcDepth,
LF::ESpace::ID  eSrcSpace,
bool  bSrcVD,
LF::ESpace::ID  eTrgSpace,
bool  bTrgVD 
)
static

Projects the given source depth value into the given target space.

Parameters
dSrcDepthThe source depth in millimeter or virtual depths.
eSrcSpaceThe source space.
bSrcVDTrue if the source depth is given in virtual depths. Is ignored if the source space isn't virtual.
eTrgSpaceThe target space.
bTrgVDTrue if the target depth should be given in virtual depths. Is ignored if the target space isn't virtual.
Returns
The resultant target depth in millimeter or virtual depths.
static void Rx::LFR::CApiLF::RxRayBind ( unsigned  uRayHandle)
static

Bind a ray image to perform computations on.

Parameters
uRayHandleThe ID of the light field image that is to be used for calculations.
static void Rx::LFR::CApiLF::RxRayCalibSaveXML ( unsigned  uRayHandle,
const Rx::CRxString sxFilename 
)
static

Save calibration data of ray image in XML format.

Parameters
uRayHandleThe ID of the ray image whose calibration data is to be saved.
sxFilenameThe complete file path under which to save the data.
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
uRayHandleThe ID of the ray image whose calibration data is to be saved.
sxXml[out] On successful return contains the XML string.
static void Rx::LFR::CApiLF::RxRayDelete ( unsigned  uRayHandle)
static

Delete the image with the given ID.

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
uRayHandleThe handle of the ray image to delete.
static const void* Rx::LFR::CApiLF::RxRayGetCameraFormat ( )
static

Gets the pointer to the internal camera format.

Returns
The pointer to the internal camera format.
static void Rx::LFR::CApiLF::RxRayGetFormat ( unsigned  uRayHandle,
Rx::CRxImageFormat xF 
)
static

Get the image format of a ray image.

Parameters
uRayHandleThe ray image handle.
xF[out] On return contains the image format of the ray image.
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
uRayHandleThe ID of the light field image created by calling RxRayLoad, RxRaySeqBind or RxCamBind.
Returns
The frame ID.
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.
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.
uImgIDThe ray image handle.
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.
static void Rx::LFR::CApiLF::RxRayGetRaw ( unsigned  uRayHandle,
Rx::CRxImage xRawImage 
)
static

Get the ray image as Rx::CRxImage instance.

Parameters
uRayHandleThe ray image handle.
xRawImage[out] On return contains the ray image.
static void Rx::LFR::CApiLF::RxRayGetRaw ( unsigned  uRayHandle,
Rx::Interop::Runtime28::IImage pRawImage,
bool  bCreate 
)
static

Get the ray image.

Attention
If Create is true, the necessary memory for the image is created with a call to Rx::Interop::Runtime28::IImage::Create, otherwise it is expected that pRawImage is already allocated with the correct amount of memory.
Parameters
uRayHandleThe ray image handle.
pRawImage[out] Pointer to an IImage interface.
bCreateFlag whether to create image.
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
uRayHandleThe ID of the light field image created by calling RxRayLoad, RxRaySeqBind or RxCamBind.
Returns
The timestamp.
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.
static unsigned Rx::LFR::CApiLF::RxRayLoad ( const Rx::CRxString sxFilename)
static

Load a ray image.

Parameters
sxFilenameThe ray image filename.
Returns
The ray image handle of the ray image.
static unsigned Rx::LFR::CApiLF::RxRayNew ( const Rx::CRxImageFormat xF)
static
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
uRayHandleThe ID of the light field image created by calling RxRayLoad, RxRaySeqBind or RxCamBind.
sxFilenameThe complete file path.
bUpdateMetaDataTrue 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.
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
sxFilenameThe complete file path.
bUpdateMetaDataTrue 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.
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
uRaySeqHandleThe id of the ray sequence.
Returns
the currently bound ray image handle.
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
uRaySeqHandleThe id of the ray sequence.
Returns
The number of frames written (if sequence was in write mode).
static unsigned Rx::LFR::CApiLF::RxRaySeqGetDoubleShotMode ( unsigned  uRaySeqHandle)
static

Get the doubleshot mode used when recording the given sequence.

Parameters
uRaySeqHandleThe ray sequence id.
Returns
The doubleshot mode.
static void Rx::LFR::CApiLF::RxRaySeqGetFileSize ( unsigned  uRaySeqHandle,
unsigned __int64 &  uFileSize 
)
static

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

Parameters
uRaySeqHandleThe ray sequence id.
uFileSize[out] Contains the total size of the ray sequence in bytes.
static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameBufferUsedCount ( unsigned  uRaySeqHandle)
static

Get number of frame buffers in use.

Parameters
uRaySeqHandleThe ray sequence id.
Returns
The number of frames in use in the frame buffer.
static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameCount ( unsigned  uRaySeqHandle)
static

Receive ray sequence frame count.

Parameters
uRaySeqHandleIdentifier for the ray sequence.
Returns
Number of frames.
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.
static unsigned Rx::LFR::CApiLF::RxRaySeqGetFrameIndex ( unsigned  uRaySeqHandle)
static

Get current frame index of ray sequence.

Parameters
uRaySeqHandleThe ray sequence id.
Returns
The frame index on return.
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.
static void Rx::LFR::CApiLF::RxRaySeqMoveFrameIndex ( unsigned  uRaySeqHandle,
int  iStep 
)
static

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

Parameters
uRaySeqHandleThe ray sequence id.
iStepThe number of frames to move. Negative values move frame index backward.
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
sxFilenameThe complete file path to the ray sequence.
uModeThe ray sequence mode. This is a combination of elements of Rx::ERaySeqMode .
uFrameBufferCountThe number of frame buffers used for buffered writing/reading.
Returns
The ray sequence id. This id is used in other functions to reference the ray sequence.
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 advanced 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.
static void Rx::LFR::CApiLF::RxRaySeqSetFrameIndex ( unsigned  uRaySeqHandle,
unsigned  uFrameIdx 
)
static

Set the current frame index of ray sequence.

Parameters
uRaySeqHandleThe ray sequence id.
uFrameIdxThe frame index.
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
uRaySeqHandleThe ray sequence ID of the ray sequence to unbind.
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.
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
uRayHandleThe ray image handle.
xMetaDataThe ray image meta data to set.
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.
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.

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

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

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

Removes a registered message callback function.

Parameters
pFuncThe function.
pvContext[in] If non-null, the context.
static void Rx::LFR::CApiLF::RxResetParameters ( )
static

Resets all parameters to their default value.

static void Rx::LFR::CApiLF::RxResizeImage ( Rx::Interop::Runtime28::IImage xDstImage,
Rx::Interop::Runtime28::IImage 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.
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
sxFilenameThe complete file path.
bUseVDTrue to save the mesh in virtual depth units instead of metric units.
dMaxEdgeLength(Optional) Limit for depth-variation in vertices. -1 = infinity.
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
sxFilenameThe complete file path.
bUseVDTrue to save the mesh in virtual depth uni ts instead of metric units.
dMaxEdgeLengthLimit for depth-variation in vertices. -1 = infinity.
dCropLeftPercthe percentage of the cropping on the left side.
dCropRightPercthe percentage of the cropping on the right side.
dCropTopPercthe percentage of the cropping on the top side.
dCropBottomPercthe percentage of the cropping on the bottom side.
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 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
sxFilenameThe complete file path.
bUseVDTrue to save the point list in virtual depth units instead of metric units.
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 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
sxFilenameThe complete file path.
bUseVDTrue to save the point list in virtual depth units instead of metric units.
dCropLeftPercThe crop left perc.
dCropRightPercThe crop right perc.
dCropTopPercThe crop top perc.
dCropBottomPercThe crop bottom perc.
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
sxFilenameThe filename.
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
sxAppNameThe application name.
sxAppVersionThe application version.
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
xImageThe computation filter mask image.
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
sxFilenameThe complete file path of the computation filter mask image to load.
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
eImgIDInternal image ID. This is not a ray image handle.
xImageThe image to copy into the specified internal image.
static void Rx::LFR::CApiLF::RxSetImage ( LFR::EImage::ID  eImgID,
const Rx::Interop::Runtime28::IImage pImage 
)
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
eImgIDInternal image ID. This is not a ray image handle.
pImageThe image to copy into the specified internal image.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::EApiLF::ID  ePar,
unsigned  uValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
uValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
unsigned  uValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
uValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
double  dValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
dValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxString sValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
sValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxArrayUInt auValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
auValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxArrayDouble adValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
adValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECudaCompute::ID  ePar,
const Rx::CRxArrayString asValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
asValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
unsigned  uValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
uValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
double  dValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
dValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxString sValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
sValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxArrayUInt auValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
auValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxArrayDouble adValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
adValue[in] The value of the parameter.
static void Rx::LFR::CApiLF::RxSetPar ( Rx::LFR::Params::ECalib::ID  ePar,
const Rx::CRxArrayString asValue 
)
static

Sets the value of a parameter.

Parameters
eParThe ID of the parameter.
asValue[in] The value of the parameter.
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. To calculate the depth image you have to call Rx::LFR::CApiLF::RxDepthRay first and next Rx::LFR::CApiLF::RxDepthMap, or by a user defined image set with Rx::LFR::CApiLF::RxSetImage.

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
eSpaceThe space.
static void Rx::LFR::CApiLF::RxUnlockCudaMutex ( )
static

Unlocks the CUDA Mutex.