Raytrix Light Field SDK  4.0
Logo
Static Public Member Functions | Events | List of all members
Rx::LFR::Net::ApiLF Class Referenceabstract

Detailed Description

API LF class.

Static Public Member Functions

static System::ObjectGetInterface (Interfaces::EApiLF eInterface)
 Gets the interface defined by the given interface ID. More...
 
template<typename TInterface >
static TInterface GetInterface (Interfaces::EApiLF eInterface)
 Gets the interface defined by the given interface ID. More...
 
static void RxCalibDBAssignGrayImageToBoundCalib (System::String^ sGUID, 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 (System::String^ sGUID, 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 (RX_OUT unsigned% uImgID, System::String^ sGUID)
 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 System::String^ RxCalibDBBoundCameraNewCalib ()
 Creates a new calibration and returns the GUID of the newly created calibration. More...
 
static System::String^ RxCalibDBCameraNewCalib (unsigned uCamIdx)
 Creates a new calibration and returns the GUID of the newly created calibration. More...
 
static void RxCalibDBCreateDataBase (System::String^ sCamHardwareId, 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 (System::String^ sGUID)
 Deletes camera calibration with GUID sxGUID. More...
 
static void RxCalibDBGetCameraCalibGuidList (RX_OUT array< System::String^ >^%asGUIDs, unsigned uCamIdx)
 Gets an array<string> which contains unique IDs of all calibration for camera with given index uCamIdx. More...
 
static void RxCalibDBGetCameraMasterCalibGuid (RX_OUT System::String^ %sGUID, unsigned uCamIdx)
 Gets a string which contains the GUID of the master calibration of this camera. More...
 
static void RxCalibDBGetCompleteCalibGuidList (RX_OUT array< System::String^ >^%asGUIDs)
 Gets an array<string> which contains GUIDs of all calibration on this computer. More...
 
static void RxCalibDBGetCompleteMasterCalibGuidList (RX_OUT array< System::String^ >^%asGUIDs)
 Gets a string array which contains GUIDs of all master calibration on this computer. More...
 
static void RxCalibDBLoadBoundCalibMetaData (RX_OUT Rx::Net::CalibMetaData^ %xCalibData)
 Gets the last applied calibration data. More...
 
static void RxCalibDBLoadCalibMetaData (RX_OUT Rx::Net::CalibMetaData^ %xCalibData, System::String^ sGUID)
 Gets Rx::Net::CalibMetaData for calibration with given GUID sGUID. More...
 
static System::String^ RxCalibDBNewCalib (System::String^ sCamHardwareId)
 Creates a new calibration and returns the GUID of the newly created calibration. 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 (Rx::Net::CalibMetaData^ xCalibData)
 Sets calibration data to the last applied calibration. More...
 
static void RxCalibDBSaveCalibMetaData (Rx::Net::CalibMetaData^ xCalibData, System::String^ sGUID)
 Sets Rx::Net::CalibMetaData for calibration with given GUID sGUID. Only certain parameters will be considered. The GUID, camera serial and camera type cannot be set. 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 (System::String^ sGUID)
 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::Net::ApiLF::RxCamBind with another camera index results in an System::Exception. 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::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT System::String^ %sValue)
 Get a camera parameter of type Rx::CRxString. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT unsigned% uValue)
 Get a camera parameter of type unsigned integer. More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT double% dValue)
 Get camera parameter of type double More...
 
static void RxCamGetPar (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT array< System::String^ >^%aValue)
 Get camera parameter of type Rx::CRxArrayString. More...
 
static void RxCamGetPar (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT System::String^ %sValue)
 Get a camera parameter of type Rx::CRxString from the currently bound camera. More...
 
static void RxCamGetPar (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT unsigned% uValue)
 Get a camera parameter of type unsigned integer from the currently bound camera. More...
 
static void RxCamGetPar (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT double% dValue)
 Get camera parameter of type double from the currently bound camera. More...
 
static void RxCamGetPar (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT array< System::String^ >^%aValue)
 Get camera parameter of type Rx::CRxArrayString. More...
 
static void RxCamGetParRange (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT unsigned% uMin, RX_OUT unsigned% uMax)
 Get the parameter range of a camera parameter of type unsigned integer. More...
 
static void RxCamGetParRange (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT double% dMin, RX_OUT double% dMax)
 Get the parameter range of a camera parameter of type double. More...
 
static void RxCamGetParRange (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT array< unsigned >^%auValues)
 Get a set of available values for a parameter of type unsigned integer. More...
 
static void RxCamGetParRange (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT unsigned% uMin, RX_OUT unsigned% uMax)
 Get the parameter range of a camera parameter of type unsigned integer from the currently bound camera. More...
 
static void RxCamGetParRange (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT double% dMin, RX_OUT double% dMax)
 Get the parameter range of a camera parameter of type double from the currently bound camera. More...
 
static void RxCamGetParRange (Rx::InteropNet::Runtime30::Camera::EProperty ePar, RX_OUT array< unsigned >^%auValues)
 Get set of available values for parameter of type unsigned. More...
 
static bool RxCamIsParameterSupported (Rx::InteropNet::Runtime30::Camera::EProperty ePar, unsigned uCamIdx)
 Test whether a camera parameter is supported by the given camera. More...
 
static bool RxCamIsParameterSupported (Rx::InteropNet::Runtime30::Camera::EProperty 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 bool RxCamRetrieveImage ()
 Retrieve a single image from the currently bound camera. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, System::String^ sValue)
 Set a camera property of type Rx::CRxString. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, unsigned uValue)
 Set a camera property of type unsigned integer. More...
 
static void RxCamSetPar (unsigned uCamIdx, Rx::InteropNet::Runtime30::Camera::EProperty ePar, double dValue)
 Set a camera property of type double. More...
 
static void RxCamSetPar (Rx::InteropNet::Runtime30::Camera::EProperty ePar, System::String^ sValue)
 Set a camera property of type Rx::CRxString from the currently bound camera. More...
 
static void RxCamSetPar (Rx::InteropNet::Runtime30::Camera::EProperty ePar, unsigned uValue)
 Set a camera property of type unsigned integer from the currently bound camera. More...
 
static void RxCamSetPar (Rx::InteropNet::Runtime30::Camera::EProperty 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::Net::ApiLF::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::Net::Image^ %xDstImage, Rx::Net::Image^ xSrcImage, InteropNet::Runtime28::EPixelType eDstImageType, InteropNet::Runtime28::EDataType eDstDataType)
 Convert a Rx::CRxImage to a new pixel and data type. More...
 
static int RxCudaDeviceCount ()
 Returns the number of CUDA devices installed. More...
 
static void RxCudaDeviceMemInfo (RX_OUT System::UInt64% uFreeMem, RX_OUT System::UInt64% uTotalMem)
 Return free and total amount of memory on the selected CUDA device. More...
 
static void RxCudaDeviceProp (int iDevice, System::String^ %sName, unsigned% uCCMajor, unsigned% uCCMinor)
 Get the name and the compute capability major and minor version for a CUDA device. More...
 
static void RxCudaSelectDevice (int iDevice, bool bUseGL)
 Select a CUDA device. More...
 
static void RxDepth3D ()
 Object space depth 3D. More...
 
static void RxDepthColorCode (Rx::LFR::Net::ESpace eSpace)
 Colorizes the depth map created by Rx::LFR::Net::ApiLF::RxDepthMap.The result is stored in the image with the ID Rx::LFR::Net::EImage::Depth3D. More...
 
static void RxDepthMap (Rx::LFR::Net::ESpace eSpace)
 Creates a depth map from the ray depth image created by Rx::LFR::Net::ApiLF::RxDepthRay. More...
 
static void RxDepthRay ()
 Estimates the depth of the bound ray image and stores the result in the image with the ID Rx::LFR::Net::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 (Rx::LFR::Net::EImage eImgID)
 Frees memory used by image defined by eImgID This invalidates the image. More...
 
static void RxGetImage (Rx::LFR::Net::EImage eImgID, RX_OUT Rx::Net::Image^ %xImage)
 Get an internal image. More...
 
static void RxGetImage (Rx::LFR::Net::EImage eImgID, InteropNet::Runtime28::IImage^ xImageIfc, bool bCreate)
 Get an internal image. More...
 
static void RxGetImageDevicePointer (Rx::LFR::Net::EImage eImgID, System::IntPtr% pDevicePtr)
 Get the device pointer of an internal image. More...
 
static unsigned RxGetImageDevicePointerPitch (Rx::LFR::Net::EImage 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 (Rx::LFR::Net::EImage eImgID, RX_OUT Rx::Net::ImageFormat^ %xF)
 Get the image format of an internal image. More...
 
static void RxGetImageHistogram (Rx::LFR::Net::EImage eImgID, array< unsigned >^%xHistogram, RX_OUT 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 (Rx::LFR::Net::EImage eImgID, unsigned uChannel, RX_OUT float% fMin, RX_OUT float% fMax)
 Finds the minimum and maximum value of the given eImgID More...
 
static void RxGetPar (Rx::LFR::Net::Params::EApiLF ePar, RX_OUT unsigned% uValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT unsigned% uValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT double% dValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT System::String^ %sValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT array< unsigned >^%auValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT array< double >^%adValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT array< System::String^ >^%asValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECalib ePar, RX_OUT unsigned% uValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECalib ePar, RX_OUT double% dValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECalib ePar, RX_OUT System::String^ %sValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECalib ePar, RX_OUT array< unsigned >^%auValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECalib ePar, RX_OUT array< double >^%adValue)
 Gets the value of a parameter. More...
 
static void RxGetPar (Rx::LFR::Net::Params::ECalib ePar, RX_OUT array< System::String^ >^%asValue)
 Gets the value of a parameter. More...
 
static void RxGetParName (Rx::LFR::Net::Params::EApiLF ePar, RX_OUT System::String^ %aValue)
 Get the string representation of a parameter. More...
 
static void RxGetParName (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT System::String^ %aValue)
 Get the string representation of a parameter. More...
 
static void RxGetParName (Rx::LFR::Net::Params::ECalib ePar, RX_OUT System::String^ %aValue)
 Get the string representation of a parameter. More...
 
static void RxGetParProperties (Rx::LFR::Net::Params::EApiLF ePar, RX_OUT System::String^ %sName, RX_OUT bool% bReadAccess, RX_OUT bool% bWriteAccess, RX_OUT Rx::Net::EValueType% eType)
 Get the Properties of a parameter. More...
 
static void RxGetParProperties (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT System::String^ %sName, RX_OUT bool% bReadAccess, RX_OUT bool% bWriteAccess, RX_OUT Rx::Net::EValueType% eType)
 Get the Properties of a parameter. More...
 
static void RxGetParProperties (Rx::LFR::Net::Params::ECalib ePar, RX_OUT System::String^ %sName, RX_OUT bool% bReadAccess, RX_OUT bool% bWriteAccess, RX_OUT Rx::Net::EValueType% eType)
 Get the Properties of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Net::Params::EApiLF ePar, RX_OUT unsigned% uMin, RX_OUT unsigned% uMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT unsigned% uMin, RX_OUT unsigned% uMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT double% dMin, RX_OUT double% dMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Net::Params::ECudaCompute ePar, RX_OUT int% iMinCount, RX_OUT int% iMaxCount, RX_OUT unsigned% uMin, RX_OUT 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::Net::Params::ECudaCompute ePar, RX_OUT int% iMinCount, RX_OUT int% iMaxCount, RX_OUT double% dMin, RX_OUT 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::Net::Params::ECalib ePar, RX_OUT unsigned% uMin, RX_OUT unsigned% uMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Net::Params::ECalib ePar, RX_OUT double% dMin, RX_OUT double% dMax)
 Get the value range of a parameter. More...
 
static void RxGetParRange (Rx::LFR::Net::Params::ECalib ePar, RX_OUT int% iMinCount, RX_OUT int% iMaxCount, RX_OUT unsigned% uMin, RX_OUT 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::Net::Params::ECalib ePar, RX_OUT int% iMinCount, RX_OUT int% iMaxCount, RX_OUT double% dMin, RX_OUT double% dMax)
 Get the value range of an array parameter and the min and max allowed number of elements in the array. More...
 
static System::DateTime RxGetReleaseDate ()
 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::Net::ApiLF::RxCudaSelectDevice to the calling thread. More...
 
static void RxGlGetTextureID (Rx::LFR::Net::EImage eImgID, RX_OUT unsigned% uGlTextureID)
 Get the OpenGl texture ID corresponding to given parameter eImgID. The content of this texture can be updated with the Rx::LFR::Net::ApiLF::RxGlUpdateTex function. More...
 
static unsigned RxGlGetTextureID (Rx::LFR::Net::EImage eImgID)
 Get the OpenGl texture ID corresponding to given parameter eImgID. The content of this texture can be updated with the Rx::LFR::Net::ApiLF::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)
 Copy CUDA result images to OpenGL textures. More...
 
static void RxGlUpdateTex (unsigned uIntImgIDs, bool bCreateMipmaps)
 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::Net::ERuntimeFeature eFeatureID)
 Test whether the Dongle offers a given feature. More...
 
static void RxInit ()
 Initialize the Raytrix API. More...
 
static void RxInit (System::String^ sLibPath, System::String^ sCalibPath)
 Initialize the Raytrix API. More...
 
static void RxInit (bool bInitCuda, System::String^ sLibPath, System::String^ sCalibPath)
 Initialize the Raytrix API. More...
 
static bool RxIsImageValid (Rx::LFR::Net::EImage eImgID)
 Test whether an internal image is valid. More...
 
static void RxLoadParameter (System::String^ sFilename)
 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 Rx::LFR::Net::EImage::Multiview_ViewCamera. More...
 
static void RxPreProcess ()
 Pre-Process a ray image. More...
 
static bool RxProject (RX_OUT array< double >^%adTargetPoint, array< double >^adSourcePoint, Rx::LFR::Net::ESpace eTarget, Rx::LFR::Net::ESpace eSource)
 Projects an array of points from the given source space into the given target space. More...
 
static double RxProjectDepth (double dSrcDepth, Rx::LFR::Net::ESpace eSrcSpace, bool bSrcVD, Rx::LFR::Net::ESpace 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, System::String^ sFilename)
 Save calibration data of ray image in XML format. More...
 
static void RxRayCalibXmlGet (unsigned uRayHandle, System::String^ %sXml)
 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 Rx::Net::ImageFormatRxRayGetFormat (unsigned uRayHandle)
 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 Rx::Net::MetaData^ RxRayGetMetaData ()
 Get the meta data of the bound ray image. More...
 
static Rx::Net::MetaData^ RxRayGetMetaData (unsigned uImgID)
 Get meta data of a ray image. More...
 
static Rx::Net::ImageRxRayGetRaw (unsigned uRayHandle)
 Get the ray image as Rx::CRxImage instance. More...
 
static void RxRayGetRaw (unsigned uRayHandle, InteropNet::Runtime28::IImage^ IRawImage, 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 (System::String^ sFilename)
 Load a ray image. More...
 
static unsigned RxRayNew (Rx::Net::ImageFormat^ xF)
 Create a new ray image. More...
 
static void RxRaySave (unsigned uRayHandle, System::String^ sFilename, bool bUpdateMetaData)
 Saves the given light field image to the given file. More...
 
static void RxRaySave (System::String^ sFilename, bool bUpdateMetaData)
 Saves the bound light field image to the given file. More...
 
static unsigned RxRaySeqBind (unsigned uRaySeqID)
 Bind a ray sequence for use by other API functions. More...
 
static unsigned RxRaySeqClose (unsigned uRaySeqID)
 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 uRaySeqID, System::UInt64% uFileSize)
 Get the total file size of the ray sequence in bytes. More...
 
static unsigned RxRaySeqGetFrameBufferUsedCount (unsigned uRaySeqID)
 Get number of frame buffers in use. More...
 
static unsigned RxRaySeqGetFrameCount (unsigned uRaySeqID)
 Get number of frames in ray sequence. More...
 
static unsigned RxRaySeqGetFrameCount ()
 Get number of frames in ray sequence. More...
 
static unsigned RxRaySeqGetFrameIndex (unsigned uRaySeqID)
 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 uRaySeqID, int iStep)
 Move the frame index relative to the current position in the ray sequence. More...
 
static unsigned RxRaySeqOpen (System::String^ sFilename, 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 uRaySeqID, unsigned uFrameIdx)
 Set the current frame index of ray sequence. More...
 
static void RxRaySeqUnbind (unsigned uRaySeqID)
 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 uImgID, Rx::Net::MetaData^ 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::Net::ApiLF::RxSetComputationFilterMask. More...
 
static void RxResetParameters ()
 Resets all parameters to their default value. More...
 
static void RxResizeImage (Rx::Net::Image^ %xDstImage, Rx::Net::Image^ %xSrcImage, int iDivider)
 Resize an image. More...
 
static void RxSaveDepth3dMesh (System::String^ sFilename, bool bUseVD, double dMaxEdgeLength)
 Saves the 3D mesh provided by image 'Depth3D' to binary STL format. This requires a valid image computed by Rx::LFR::Net::ApiLF::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 (System::String^ sFilename, bool bUseVD, double dMaxEdgeLength, double dCropLeftPerc, double dCropRightPerc, double dCropTopPerc, double dCropBottomPerc)
 Saves the 3D mesh provided by image 'Depth3D' to binary STL format. This requires a valid image computed by Rx::LFR::Net::ApiLF::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 (System::String^ sFilename, bool bUseVD)
 Saves the depth values of the current Depth3D image to the given file as a point list. More...
 
static void RxSaveDepth3dPointList (System::String^ sFilename, bool bUseVD, double dCropLeftPerc, double dCropRightPerc, double dCropTopPerc, double dCropBottomPerc)
 Saves the depth values of the current Depth3D image to the given file as a point list. More...
 
static void RxSaveParameter (System::String^ sFilename)
 Saves all writable API parameter to file. Its mandatory to bind a light field image before. More...
 
static void RxSetApplicationDetails (System::String^ sAppName, System::String^ sAppVersion)
 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 (Rx::Net::Image^ xImage)
 Sets the computation filter mask image. More...
 
static void RxSetComputationFilterMask (System::String^ sFilename)
 Sets the computation filter mask image. More...
 
static void RxSetImage (Rx::LFR::Net::EImage eImgID, Rx::Net::Image^ xImage)
 Set an internal image. More...
 
static void RxSetImage (Rx::LFR::Net::EImage eImgID, InteropNet::Runtime28::IImage^ xImageIfc)
 Set an internal image. More...
 
static void RxSetPar (Rx::LFR::Net::Params::EApiLF ePar, unsigned uValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECudaCompute ePar, unsigned uValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECudaCompute ePar, double dValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECudaCompute ePar, System::String^ sValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECudaCompute ePar, array< unsigned >^auValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECudaCompute ePar, array< double >^adValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECudaCompute ePar, array< System::String^ >^asValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECalib ePar, unsigned uValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECalib ePar, double dValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECalib ePar, System::String^ sValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECalib ePar, array< unsigned >^auValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECalib ePar, array< double >^adValue)
 Sets the value of a parameter. More...
 
static void RxSetPar (Rx::LFR::Net::Params::ECalib ePar, array< System::String^ >^asValue)
 Sets the value of a parameter. More...
 
static void RxTotalFocus (Rx::LFR::Net::ESpace eSpace)
 Focus on a depth surface. More...
 
static void RxUnlockCudaMutex ()
 Unlocks the CUDA Mutex. More...
 

Events

static CamImageAvailableHandler^  CamImageAvailable [add, remove]
 Event queue for all listeners interested in CamImageAvailable events. More...
 
static Rx::LFR::Net::StatusMessageHandler^  StatusMessage [add, remove]
 Event queue for all listeners interested in StatusMessage events. More...
 

Member Function Documentation

static System::Object ^ Rx::LFR::Net::ApiLF::GetInterface ( Interfaces::EApiLF  eInterface)
inlinestatic

Gets the interface defined by the given interface ID.

Parameters
eInterfaceThe interface ID.
Returns
Null if it fails, else the interface.
template<typename TInterface >
static TInterface Rx::LFR::Net::ApiLF::GetInterface ( Interfaces::EApiLF  eInterface)
inlinestatic

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::Net::ApiLF::RxCalibDBAssignGrayImageToBoundCalib ( System::String^  sGUID,
bool  bLoadGrayImg 
)
static

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

Parameters
sGUID[in] The unique identifier of the calibration with the gray image to copy.
bLoadGrayImgtrue to load gray image.
static void Rx::LFR::Net::ApiLF::RxCalibDBBindCalib ( System::String^  sGUID,
bool  bApplyGrayImage 
)
static

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

Parameters
sGUID[in] GUID 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::Net::ApiLF::RxCalibDBBindCalibGrayImage ( RX_OUT unsigned%  uImgID,
System::String^  sGUID 
)
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 uImgID.

Warning
After using this image, you have to delete it to free the memory by calling Rx::LFR::Net::ApiLF::RxRayDelete.
Parameters
uImgID[out] Image ID of the bound gray image.
sGUID[in] The GUID of the calibration.
static System::String ^ Rx::LFR::Net::ApiLF::RxCalibDBBoundCameraNewCalib ( )
static

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

Returns
The GUID of the newly created calibration.
static System::String ^ Rx::LFR::Net::ApiLF::RxCalibDBCameraNewCalib ( unsigned  uCamIdx)
static

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

Parameters
uCamIdxid of a camera.
Returns
The GUID of the newly created calibration.
static void Rx::LFR::Net::ApiLF::RxCalibDBCreateDataBase ( System::String^  sCamHardwareId,
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 System::Exception is thrown.
Parameters
sCamHardwareId[in] Type of the camera.
bForceFlags whether to overwrite an existing database or not.
static void Rx::LFR::Net::ApiLF::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 System::Exception is thrown.

Parameters
bForceFlags whether to overwrite an existing database or not.
static void Rx::LFR::Net::ApiLF::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 System::Exception is thrown.

Parameters
uCamIdxZero-based index of the camera.
bForceFlags whether to overwrite an existing database or not.
static void Rx::LFR::Net::ApiLF::RxCalibDBDeleteCalib ( System::String^  sGUID)
static

Deletes camera calibration with GUID sxGUID.

Warning
If there is no calibration database for given parameters, an System::Exception is thrown.
Parameters
sGUID[in] The GUID of the calibration to delete.
static void Rx::LFR::Net::ApiLF::RxCalibDBGetCameraCalibGuidList ( RX_OUT array< System::String^ >^%  asGUIDs,
unsigned  uCamIdx 
)
static

Gets an array<string> which contains unique IDs of all calibration for camera with given index uCamIdx.

Parameters
asGUIDs[out] Array of GUIDs.
uCamIdxZero-based index of the camera.
static void Rx::LFR::Net::ApiLF::RxCalibDBGetCameraMasterCalibGuid ( RX_OUT System::String^ %  sGUID,
unsigned  uCamIdx 
)
static

Gets a string which contains the GUID of the master calibration of this camera.

Parameters
sGUID[out] String of GUID.
uCamIdxZero-based index of the camera.
static void Rx::LFR::Net::ApiLF::RxCalibDBGetCompleteCalibGuidList ( RX_OUT array< System::String^ >^%  asGUIDs)
static

Gets an array<string> which contains GUIDs of all calibration on this computer.

Parameters
asGUIDs[out] array of GUIDS.
static void Rx::LFR::Net::ApiLF::RxCalibDBGetCompleteMasterCalibGuidList ( RX_OUT array< System::String^ >^%  asGUIDs)
static

Gets a string array which contains GUIDs of all master calibration on this computer.

Parameters
asGUIDs[out] string array of GUIDS.
static void Rx::LFR::Net::ApiLF::RxCalibDBLoadBoundCalibMetaData ( RX_OUT Rx::Net::CalibMetaData^ %  xCalibData)
static

Gets the last applied calibration data.

Parameters
xCalibData[out] Information describing the calibration.
static void Rx::LFR::Net::ApiLF::RxCalibDBLoadCalibMetaData ( RX_OUT Rx::Net::CalibMetaData^ %  xCalibData,
System::String^  sGUID 
)
static

Gets Rx::Net::CalibMetaData for calibration with given GUID sGUID.

Parameters
xCalibData[out] The calibration data.
sGUID[in] The GUID of the calibration.
static System::String ^ Rx::LFR::Net::ApiLF::RxCalibDBNewCalib ( System::String^  sCamHardwareId)
static

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

Parameters
sCamHardwareId[in] Unique identifier for the new calibration.
Returns
The GUID of the newly created calibration.
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxCalibDBSaveBoundCalibMetaData ( Rx::Net::CalibMetaData xCalibData)
static

Sets calibration data to the last applied calibration.

Parameters
xCalibData[in] Information describing the calibration.
static void Rx::LFR::Net::ApiLF::RxCalibDBSaveCalibMetaData ( Rx::Net::CalibMetaData xCalibData,
System::String^  sGUID 
)
static

Sets Rx::Net::CalibMetaData for calibration with given GUID sGUID. Only certain parameters will be considered. The GUID, camera serial and camera type cannot be set.

Parameters
xCalibData[in] The calibration data.
sGUID[in] The GUID of the calibration.
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxCalibDBUpdateAndSaveCalib ( System::String^  sGUID)
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
sGUID[in] GUID of the calibration which should be saved.
static unsigned Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxCamBind with another camera index results in an System::Exception.

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::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT System::String^ %  sValue 
)
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 System::Exception is thrown.
Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::InteropNet::Runtime30::Camera::EProperty are:
sValue[out] The returned string value.
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT unsigned%  uValue 
)
static
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT double%  dValue 
)
static
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT array< System::String^ >^%  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 System::Exception is thrown.
Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter.
aValue[out] The returned double value.
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT System::String^ %  sValue 
)
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 System::Exception is thrown.
Parameters
eParThe camera parameter. Allowed parameters from Rx::InteropNet::Runtime30::Camera::EProperty are:
sValue[out] The returned string value.
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT unsigned%  uValue 
)
static
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT double%  dValue 
)
static
static void Rx::LFR::Net::ApiLF::RxCamGetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT array< System::String^ >^%  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 System::Exception is thrown.
Parameters
eParThe camera parameter.
aValue[out] The returned string array value.
static void Rx::LFR::Net::ApiLF::RxCamGetParRange ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT unsigned%  uMin,
RX_OUT unsigned%  uMax 
)
static
static void Rx::LFR::Net::ApiLF::RxCamGetParRange ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT double%  dMin,
RX_OUT 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::InteropNet::Runtime30::Camera::EProperty are:
dMin[out] On return the minimal parameter value.
dMax[out] On return the maximal parameter value.
static void Rx::LFR::Net::ApiLF::RxCamGetParRange ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT array< unsigned >^%  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::Net::ApiLF::RxCamGetParRange ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT unsigned%  uMin,
RX_OUT unsigned%  uMax 
)
static
static void Rx::LFR::Net::ApiLF::RxCamGetParRange ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT double%  dMin,
RX_OUT 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::InteropNet::Runtime30::Camera::EProperty are:
dMin[out] On return the minimal parameter value.
dMax[out] On return the maximal parameter value.
static void Rx::LFR::Net::ApiLF::RxCamGetParRange ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
RX_OUT array< unsigned >^%  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::Net::ApiLF::RxCamIsParameterSupported ( Rx::InteropNet::Runtime30::Camera::EProperty  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::InteropNet::Runtime30::Camera::EProperty::Focus, Rx::InteropNet::Runtime30::Camera::EProperty::Iris, Rx::InteropNet::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 zero-based camera index.
Returns
True if the parameter is supported, otherwise false.
static bool Rx::LFR::Net::ApiLF::RxCamIsParameterSupported ( Rx::InteropNet::Runtime30::Camera::EProperty  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::InteropNet::Runtime30::Camera::EProperty::Focus, Rx::InteropNet::Runtime30::Camera::EProperty::Iris, Rx::InteropNet::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
On return indicates whether the parameter ePar is supported or not.
static void Rx::LFR::Net::ApiLF::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 System::Exception is thrown that holds the reason of failure.
Parameters
uCamIdxThe zero-based index of the camera to open.
static void Rx::LFR::Net::ApiLF::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 before any other API camera function.

static bool Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
System::String^  sValue 
)
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 System::Exception is thrown.
Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::InteropNet::Runtime30::Camera::EProperty are:
sValue[in] The returned String value.
static void Rx::LFR::Net::ApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  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 System::Exception is thrown.
Parameters
uCamIdxThe zero-based camera index.
eParThe camera parameter. Allowed parameters from Rx::InteropNet::Runtime30::Camera::EProperty are:

Rx::InteropNet::Runtime30::Camera::EProperty::GlobalStart

Parameters
uValueThe unsigned integer value.
static void Rx::LFR::Net::ApiLF::RxCamSetPar ( unsigned  uCamIdx,
Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
double  dValue 
)
static
static void Rx::LFR::Net::ApiLF::RxCamSetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
System::String^  sValue 
)
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 System::Exception is thrown.
Parameters
eParThe camera parameter. Allowed parameters from Rx::InteropNet::Runtime30::Camera::EProperty are:
sValue[in] The string value.
static void Rx::LFR::Net::ApiLF::RxCamSetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  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 System::Exception is thrown.
Parameters
eParThe camera parameter. Allowed parameters from Rx::InteropNet::Runtime30::Camera::EProperty are:
uValueThe unsigned integer value.
static void Rx::LFR::Net::ApiLF::RxCamSetPar ( Rx::InteropNet::Runtime30::Camera::EProperty  ePar,
double  dValue 
)
static
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxInit.
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxCamTrigger ( )
static

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

static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxConvertImage ( Rx::Net::Image^ %  xDstImage,
Rx::Net::Image xSrcImage,
InteropNet::Runtime28::EPixelType  eDstImageType,
InteropNet::Runtime28::EDataType  eDstDataType 
)
static

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

Parameters
xDstImage[out] Destination image.
xSrcImage[in,out] Reference to the image.
eDstImageTypePixel type of the converted image.
eDstDataTypeData type of the converted image.
static int Rx::LFR::Net::ApiLF::RxCudaDeviceCount ( )
static

Returns the number of CUDA devices installed.

Returns
The number of CUDA devices.
static void Rx::LFR::Net::ApiLF::RxCudaDeviceMemInfo ( RX_OUT System::UInt64%  uFreeMem,
RX_OUT System::UInt64%  uTotalMem 
)
static

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

Parameters
uFreeMem[out] On return contains the amount of free memory in bytes.
uTotalMem[out] On return contains the amount of total memory in bytes.
static void Rx::LFR::Net::ApiLF::RxCudaDeviceProp ( int  iDevice,
System::String^ %  sName,
unsigned%  uCCMajor,
unsigned%  uCCMinor 
)
static

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

Parameters
iDeviceZero-based ID of the CUDA device.
sName[out] On return contains the name of the CUDA device.
uCCMajor[out] On return contains the major version of the CUDA device compute capability.
uCCMinor[out] On return contains the minor version of the CUDA device compute capability.
static void Rx::LFR::Net::ApiLF::RxCudaSelectDevice ( int  iDevice,
bool  bUseGL 
)
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::Net::ApiLF::RxCudaDeviceCount and Rx::LFR::Net::ApiLF::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
iDeviceThe zero-based CUDA device ID or -1 for automatic selection.
bUseGLFlag indicating whether to initialize CUDA for OpenGL interop. or not.
static void Rx::LFR::Net::ApiLF::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 Rx::LFR::Net::EImage::Depth3D.

static void Rx::LFR::Net::ApiLF::RxDepthColorCode ( Rx::LFR::Net::ESpace  eSpace)
static

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

Parameters
eSpaceThe space.
static void Rx::LFR::Net::ApiLF::RxDepthMap ( Rx::LFR::Net::ESpace  eSpace)
static

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

Parameters
eSpaceThe space.
static void Rx::LFR::Net::ApiLF::RxDepthRay ( )
static

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

static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxFreeImage ( Rx::LFR::Net::EImage  eImgID)
static

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

Parameters
eImgIDIdentifier for the image.
static void Rx::LFR::Net::ApiLF::RxGetImage ( Rx::LFR::Net::EImage  eImgID,
RX_OUT Rx::Net::Image^ %  xImage 
)
static

Get an internal image.

The available internal image IDs are listed in Rx::LFR::Net::EImage.

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::Net::ApiLF::RxGetImage ( Rx::LFR::Net::EImage  eImgID,
InteropNet::Runtime28::IImage xImageIfc,
bool  bCreate 
)
static

Get an internal image.

The available internal image IDs are listed in Rx::LFR::Net::EImage.

Parameters
eImgIDInternal image ID. This is not a ray image handle.
xImageIfc[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::Net::ApiLF::RxGetImageDevicePointer ( Rx::LFR::Net::EImage  eImgID,
System::IntPtr%  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::Net::EImage.
Parameters
eImgIDInternal image ID. This is not a ray image handle.
pDevicePtr[out] On return contains the internal image's device pointer.
static unsigned Rx::LFR::Net::ApiLF::RxGetImageDevicePointerPitch ( Rx::LFR::Net::EImage  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::Net::ApiLF::RxGetImageFormat ( Rx::LFR::Net::EImage  eImgID,
RX_OUT Rx::Net::ImageFormat^ %  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::Net::EImage.
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::Net::ApiLF::RxGetImageHistogram ( Rx::LFR::Net::EImage  eImgID,
array< unsigned >^%  xHistogram,
RX_OUT 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::Net::ApiLF::RxGetImageMinMax ( Rx::LFR::Net::EImage  eImgID,
unsigned  uChannel,
RX_OUT float%  fMin,
RX_OUT 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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::EApiLF  ePar,
RX_OUT 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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT 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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT 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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT System::String^ %  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT array< unsigned >^%  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT array< double >^%  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT array< System::String^ >^%  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT 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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT 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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT System::String^ %  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT array< unsigned >^%  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT array< double >^%  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::Net::ApiLF::RxGetPar ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT array< System::String^ >^%  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::Net::ApiLF::RxGetParName ( Rx::LFR::Net::Params::EApiLF  ePar,
RX_OUT System::String^ %  aValue 
)
static

Get the string representation of a parameter.

Parameters
eParThe parameter ID.
aValue[out] On return contains the parameter string representation.
static void Rx::LFR::Net::ApiLF::RxGetParName ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT System::String^ %  aValue 
)
static

Get the string representation of a parameter.

Parameters
eParThe parameter ID.
aValue[out] On return contains the parameter string representation.
static void Rx::LFR::Net::ApiLF::RxGetParName ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT System::String^ %  aValue 
)
static

Get the string representation of a parameter.

Parameters
eParThe parameter ID.
aValue[out] On return contains the parameter string representation.
static void Rx::LFR::Net::ApiLF::RxGetParProperties ( Rx::LFR::Net::Params::EApiLF  ePar,
RX_OUT System::String^ %  sName,
RX_OUT bool%  bReadAccess,
RX_OUT bool%  bWriteAccess,
RX_OUT Rx::Net::EValueType%  eType 
)
static

Get the Properties of a parameter.

Parameters
eParThe parameter ID.
sName[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.
eType[out] On return contains the parameter DataType.
static void Rx::LFR::Net::ApiLF::RxGetParProperties ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT System::String^ %  sName,
RX_OUT bool%  bReadAccess,
RX_OUT bool%  bWriteAccess,
RX_OUT Rx::Net::EValueType%  eType 
)
static

Get the Properties of a parameter.

Parameters
eParThe parameter ID.
sName[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.
eType[out] On return contains the parameter DataType.
static void Rx::LFR::Net::ApiLF::RxGetParProperties ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT System::String^ %  sName,
RX_OUT bool%  bReadAccess,
RX_OUT bool%  bWriteAccess,
RX_OUT Rx::Net::EValueType%  eType 
)
static

Get the Properties of a parameter.

Parameters
eParThe parameter ID.
sName[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.
eType[out] On return contains the parameter DataType.
static void Rx::LFR::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::EApiLF  ePar,
RX_OUT unsigned%  uMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT unsigned%  uMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT double%  dMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT int%  iMinCount,
RX_OUT int%  iMaxCount,
RX_OUT unsigned%  uMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECudaCompute  ePar,
RX_OUT int%  iMinCount,
RX_OUT int%  iMaxCount,
RX_OUT double%  dMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT unsigned%  uMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT double%  dMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT int%  iMinCount,
RX_OUT int%  iMaxCount,
RX_OUT unsigned%  uMin,
RX_OUT 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::Net::ApiLF::RxGetParRange ( Rx::LFR::Net::Params::ECalib  ePar,
RX_OUT int%  iMinCount,
RX_OUT int%  iMaxCount,
RX_OUT double%  dMin,
RX_OUT 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 System::DateTime Rx::LFR::Net::ApiLF::RxGetReleaseDate ( )
static

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

Returns
The release date.
static void Rx::LFR::Net::ApiLF::RxGlGetContext ( )
static

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

Precondition
Before assigning a context, the thread that has the context currently must release it via Rx::LFR::Net::ApiLF::RxGlReleaseContext().
static void Rx::LFR::Net::ApiLF::RxGlGetTextureID ( Rx::LFR::Net::EImage  eImgID,
RX_OUT 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::Net::ApiLF::RxGlUpdateTex function.

Parameters
eImgIDThe image ID.
uGlTextureID[out] Identifier for the OpenGL texture.
static unsigned Rx::LFR::Net::ApiLF::RxGlGetTextureID ( Rx::LFR::Net::EImage  eImgID)
static

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

Parameters
eImgIDThe image ID.
Returns
The identifier for the OpenGL texture.
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxGlReleaseContext ( )
static

Releases the OpenGL context owned by the calling thread.

Warning
Another thread can get the released context via Rx::LFR::Net::ApiLF::RxGlGetContext. If the calling thread hasn't a valid context this function will do nothing and only returns.
static void Rx::LFR::Net::ApiLF::RxGlSetContext ( )
static

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

static void Rx::LFR::Net::ApiLF::RxGlUpdateTex ( unsigned  uIntImgIDs)
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::Net::EImage. 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.
static void Rx::LFR::Net::ApiLF::RxGlUpdateTex ( unsigned  uIntImgIDs,
bool  bCreateMipmaps 
)
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::Net::EImage. 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.
bCreateMipmapsFlag, whether to create mipmaps or not.
static void Rx::LFR::Net::ApiLF::RxGrid ( )
static

Show a lens grid overlay on the raw ray image.

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

static bool Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxGridDataImage ( )
static

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

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

static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxHasFeature ( Rx::Net::ERuntimeFeature  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::Net::ApiLF::RxInit ( )
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::Net::ApiLF::RxCudaSelectDevice.To access Raytrix cameras you first have to call Rx::LFR::Net::ApiLF::RxCamRegister.
Attention
After executing Rx::LFR::Net::ApiLF::RxInit neither a CUDA device is selected nor a camera device initialized.
static void Rx::LFR::Net::ApiLF::RxInit ( System::String^  sLibPath,
System::String^  sCalibPath 
)
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::Net::ApiLF::RxCudaSelectDevice.To access Raytrix cameras you first have to call Rx::LFR::Net::ApiLF::RxCamRegister.
Attention
After executing Rx::LFR::Net::ApiLF::RxInit neither a CUDA device is selected nor a camera device initialized.
Parameters
sLibPath[in] If set to false only functionality that does not rely on CUDA can be used.
sCalibPath[in] The absolute path to the camera driver DLLs (RaytrixCamera_*.dll).
static void Rx::LFR::Net::ApiLF::RxInit ( bool  bInitCuda,
System::String^  sLibPath,
System::String^  sCalibPath 
)
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::Net::ApiLF::RxCudaSelectDevice.To access Raytrix cameras you first have to call Rx::LFR::Net::ApiLF::RxCamRegister.
Attention
After executing Rx::LFR::Net::ApiLF::RxInit neither a CUDA device is selected nor a camera device initialized.
Parameters
bInitCudaIf set to false only functionality that does not rely on CUDA can be used.
sLibPath[in] The absolute path to the camera driver DLLs (RaytrixCamera_*.dll).
sCalibPath[in] The absolute path to the camera calibration directories.
static bool Rx::LFR::Net::ApiLF::RxIsImageValid ( Rx::LFR::Net::EImage  eImgID)
static

Test whether an internal image is valid.

Attention
The available internal image IDs are listed in Rx::LFR::Net::EImage.
Parameters
eImgIDInternal image ID. This is not a ray image handle.
Returns
true if the image is valid, false otherwise.
static void Rx::LFR::Net::ApiLF::RxLoadParameter ( System::String^  sFilename)
static

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

Parameters
sFilename[in,out] The complete file path.
static bool Rx::LFR::Net::ApiLF::RxLockCudaMutex ( int  iTimeout)
static

Locks the CUDA Mutex.

Parameters
iTimeoutIf the mutex is locked, the timeout defines the time in ms until a Rx::Net::RxException is thrown.
Returns
True if it succeeds, false if it fails.
static void Rx::LFR::Net::ApiLF::RxMultiview ( )
static

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

static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxProject ( RX_OUT array< double >^%  adTargetPoint,
array< double >^  adSourcePoint,
Rx::LFR::Net::ESpace  eTarget,
Rx::LFR::Net::ESpace  eSource 
)
static

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

Parameters
adTargetPoint[out] The array of projected points.
adSourcePoint[in,out] The array of points to project.
eTargetThe target space.
eSourceThe 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::Net::ApiLF::RxProjectDepth ( double  dSrcDepth,
Rx::LFR::Net::ESpace  eSrcSpace,
bool  bSrcVD,
Rx::LFR::Net::ESpace  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::Net::ApiLF::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::Net::ApiLF::RxRayCalibSaveXML ( unsigned  uRayHandle,
System::String^  sFilename 
)
static

Save calibration data of ray image in XML format.

Parameters
uRayHandleThe ID of the ray image whose calibration data is to be saved.
sFilename[in,out] The the complete file path under which to save the data.
static void Rx::LFR::Net::ApiLF::RxRayCalibXmlGet ( unsigned  uRayHandle,
System::String^ %  sXml 
)
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.
sXml[out] On successful return contains the XML string.
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxRayBind or Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxRayGetCameraFormat ( )
static

Gets the pointer to the internal camera format.

Returns
The pointer to the internal camera format.
static Rx::Net::ImageFormat ^ Rx::LFR::Net::ApiLF::RxRayGetFormat ( unsigned  uRayHandle)
static

Get the image format of a ray image.

Parameters
uRayHandleThe ray image handle.
Returns
The image format of the ray image.
static unsigned Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxRayGetFrameID ( )
static

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

Returns
The frame ID.
static Rx::Net::MetaData ^ Rx::LFR::Net::ApiLF::RxRayGetMetaData ( )
static

Get the meta data of the bound ray image.

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

Returns
The ray image meta data.
static Rx::Net::MetaData ^ Rx::LFR::Net::ApiLF::RxRayGetMetaData ( unsigned  uImgID)
static

Get meta data of a ray image.

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

Parameters
uImgIDThe ray image handle.
Returns
The ray image meta data.
static Rx::Net::Image ^ Rx::LFR::Net::ApiLF::RxRayGetRaw ( unsigned  uRayHandle)
static

Get the ray image as Rx::CRxImage instance.

Parameters
uRayHandleThe ray image handle.
Returns
The raw image.
static void Rx::LFR::Net::ApiLF::RxRayGetRaw ( unsigned  uRayHandle,
InteropNet::Runtime28::IImage IRawImage,
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.
IRawImage[out] Pointer to an IImage interface.
bCreateFlag whether to create image.
static double Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::ApiLF::RxRayLoad ( System::String^  sFilename)
static

Load a ray image.

Parameters
sFilename[in,out] The complete file path of the ray image.
Returns
The ray image handle of the ray image.
static unsigned Rx::LFR::Net::ApiLF::RxRayNew ( Rx::Net::ImageFormat xF)
static
static void Rx::LFR::Net::ApiLF::RxRaySave ( unsigned  uRayHandle,
System::String^  sFilename,
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.
sFilename[in,out] The 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::Net::ApiLF::RxRaySave ( System::String^  sFilename,
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
sFilename[in,out] The 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::Net::ApiLF::RxRaySeqBind ( unsigned  uRaySeqID)
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::Net::ApiLF::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::Net::Params::EApiLF::RaySeq_AutoStoreCamFrames to 1. The value returned is the ray image ID of the currently bound ray image.

Parameters
uRaySeqIDThe id of the ray sequence.
Returns
the currently bound ray image handle.
static unsigned Rx::LFR::Net::ApiLF::RxRaySeqClose ( unsigned  uRaySeqID)
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
uRaySeqIDThe id of the ray sequence.
Returns
The number of frames written (if sequence was in write mode).
static unsigned Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxRaySeqGetFileSize ( unsigned  uRaySeqID,
System::UInt64%  uFileSize 
)
static

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

Parameters
uRaySeqIDThe ray sequence id.
uFileSize[out] Contains the total size of the ray sequence in bytes.
static unsigned Rx::LFR::Net::ApiLF::RxRaySeqGetFrameBufferUsedCount ( unsigned  uRaySeqID)
static

Get number of frame buffers in use.

Parameters
uRaySeqIDThe ray sequence id.
Returns
The number of frames in use in the frame buffer.
static unsigned Rx::LFR::Net::ApiLF::RxRaySeqGetFrameCount ( unsigned  uRaySeqID)
static

Get number of frames in ray sequence.

Parameters
uRaySeqIDThe ray sequence id.
Returns
The number of frames.
static unsigned Rx::LFR::Net::ApiLF::RxRaySeqGetFrameCount ( )
static

Get number of frames in ray sequence.

Returns
Number of frames.
static unsigned Rx::LFR::Net::ApiLF::RxRaySeqGetFrameIndex ( unsigned  uRaySeqID)
static

Get current frame index of ray sequence.

Parameters
uRaySeqIDThe ray sequence id.
Returns
The frame index on return.
static bool Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxRaySeqMoveFrameIndex ( unsigned  uRaySeqID,
int  iStep 
)
static

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

Parameters
uRaySeqIDThe ray sequence id.
iStepThe number of frames to move. Negative values move frame index backward.
static unsigned Rx::LFR::Net::ApiLF::RxRaySeqOpen ( System::String^  sFilename,
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
sFilename[in,out] The complete file path of the ray sequence.
uModeThe ray sequence mode. This is a combination of elements of 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::Net::ApiLF::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::Net::ApiLF::RxRaySeqGetFrameIndex returns a frame index higher than before after calling Rx::LFR::Net::ApiLF::RxRaySeqRead.
static void Rx::LFR::Net::ApiLF::RxRaySeqSetFrameIndex ( unsigned  uRaySeqID,
unsigned  uFrameIdx 
)
static

Set the current frame index of ray sequence.

Parameters
uRaySeqIDThe ray sequence id.
uFrameIdxThe frame index.
static void Rx::LFR::Net::ApiLF::RxRaySeqUnbind ( unsigned  uRaySeqID)
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
uRaySeqIDThe ray sequence ID of the ray sequence to unbind.
static void Rx::LFR::Net::ApiLF::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::Net::Params::EApiLF::RaySeq_AutoStoreCamFrames to 1.
static void Rx::LFR::Net::ApiLF::RxRaySetMetaData ( unsigned  uImgID,
Rx::Net::MetaData^  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
uImgIDThe ray image handle.
xMetaData[in] The ray image meta data to set.
static void Rx::LFR::Net::ApiLF::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::Net::ApiLF::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::Net::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 Rx::LFR::Net::EImage::RefocusBasic. The size of this resultant image is set in relation to the ray image size via the parameter Rx::LFR::Net::Params::EApiLF::Focus_ImageDivisor.

static void Rx::LFR::Net::ApiLF::RxRemoveComputationFilterMask ( )
static

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

static void Rx::LFR::Net::ApiLF::RxResetParameters ( )
static

Resets all parameters to their default value.

static void Rx::LFR::Net::ApiLF::RxResizeImage ( Rx::Net::Image^ %  xDstImage,
Rx::Net::Image^ %  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::Net::ApiLF::RxSaveDepth3dMesh ( System::String^  sFilename,
bool  bUseVD,
double  dMaxEdgeLength 
)
static

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

Parameters
sFilename[in,out] The complete file path.
bUseVDTrue to save the mesh in virtual depth units instead of metric units.
dMaxEdgeLengthLimit for depth-variation in vertices. -1 = infinity.
static void Rx::LFR::Net::ApiLF::RxSaveDepth3dMesh ( System::String^  sFilename,
bool  bUseVD,
double  dMaxEdgeLength,
double  dCropLeftPerc,
double  dCropRightPerc,
double  dCropTopPerc,
double  dCropBottomPerc 
)
static

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

Parameters
sFilename[in,out] The complete file path.
bUseVDTrue to save the mesh in virtual depth units 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::Net::ApiLF::RxSaveDepth3dPointList ( System::String^  sFilename,
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
sFilename[in,out] The complete file path.
bUseVDTrue to save the point list in virtual depth units instead of metric units.
static void Rx::LFR::Net::ApiLF::RxSaveDepth3dPointList ( System::String^  sFilename,
bool  bUseVD,
double  dCropLeftPerc,
double  dCropRightPerc,
double  dCropTopPerc,
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
sFilename[in,out] If non-null, 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::Net::ApiLF::RxSaveParameter ( System::String^  sFilename)
static

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

Parameters
sFilename[in,out] The complete file path.
static void Rx::LFR::Net::ApiLF::RxSetApplicationDetails ( System::String^  sAppName,
System::String^  sAppVersion 
)
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
sAppName[in] The application name.
sAppVersion[in] The application version.
static void Rx::LFR::Net::ApiLF::RxSetComputationFilterMask ( Rx::Net::Image xImage)
static

Sets the computation filter mask image.

This image is used to reduce the number of lenses used for depth estimation (Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxSetComputationFilterMask ( System::String^  sFilename)
static

Sets the computation filter mask image.

This image is used to reduce the number of lenses used for depth estimation (Rx::LFR::Net::ApiLF::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
sFilename[in,out] The complete file path of the computation filter mask image to load.
static void Rx::LFR::Net::ApiLF::RxSetImage ( Rx::LFR::Net::EImage  eImgID,
Rx::Net::Image xImage 
)
static

Set an internal image.

The available internal image IDs are listed in Rx::LFR::Net::EImage.

A new ray image can be set with eImgID set to Rx::LFR::Net::EImage::Raw and a new gray image with Rx::LFR::Net::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::Net::ApiLF::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 Rx::LFR::Net::EImage::Processed_Normalized. However, this will not change the Rx::LFR::Net::EImage::Raw or Rx::LFR::Net::EImage::Gray images currently bound.

Parameters
eImgIDInternal image ID. This is not a ray image handle.
xImage[in,out] The image to copy into the specified internal image.
static void Rx::LFR::Net::ApiLF::RxSetImage ( Rx::LFR::Net::EImage  eImgID,
InteropNet::Runtime28::IImage xImageIfc 
)
static

Set an internal image.

The available internal image IDs are listed in Rx::LFR::Net::EImage.

A new ray image can be set with eImgID set to Rx::LFR::Net::EImage::Raw and a new gray image with Rx::LFR::Net::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::Net::ApiLF::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 Rx::LFR::Net::EImage::Processed_Normalized. However, this will not change the Rx::LFR::Net::EImage::Raw or Rx::LFR::Net::EImage::Gray images currently bound.

Parameters
eImgIDInternal image ID. This is not a ray image handle.
xImageIfc[in,out] The image to copy into the specified internal image.
static void Rx::LFR::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::EApiLF  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECudaCompute  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECudaCompute  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
System::String^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
array< unsigned >^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
array< double >^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECudaCompute  ePar,
array< System::String^ >^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECalib  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECalib  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECalib  ePar,
System::String^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECalib  ePar,
array< unsigned >^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECalib  ePar,
array< double >^  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::Net::ApiLF::RxSetPar ( Rx::LFR::Net::Params::ECalib  ePar,
array< System::String^ >^  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::Net::ApiLF::RxTotalFocus ( Rx::LFR::Net::ESpace  eSpace)
static

Focus on a depth surface.

In principle, each pixel of the result image can be focused individually. The function Rx::LFR::Net::ApiLF::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::Net::ApiLF::RxDepthRay first and next Rx::LFR::Net::ApiLF::RxDepthMap, or by a user defined image set with Rx::LFR::Net::ApiLF::RxSetImage.

When setting a depth image with Rx::LFR::Net::ApiLF::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::Net::Params::EApiLF::Focus_ImageDivisor.
Parameters
eSpaceThe space.
static void Rx::LFR::Net::ApiLF::RxUnlockCudaMutex ( )
static

Unlocks the CUDA Mutex.

Event Documentation

CamImageAvailableHandler^ Rx::LFR::Net::ApiLF::CamImageAvailable
staticaddremove

Event queue for all listeners interested in CamImageAvailable events.

Rx:: LFR:: Net:: StatusMessageHandler^ Rx::LFR::Net::ApiLF::StatusMessage
staticaddremove

Event queue for all listeners interested in StatusMessage events.