Raytrix Light Field SDK  5.0
Rx::LFR::Net::CudaHostImage Class Reference

Detailed Description

An image implementation which is optimized to be used to transfer images from the host to a Cuda device.

As the image consumes page-locked memory, it should only be used for performance-critical tasks.

Inherits Rx::Net::Image.

Public Member Functions

 CudaHostImage ()
 Default constructor. More...
 
virtual ImageClone ()
 Makes a deep copy of this object. More...
 
void ConvertCustomType (Rx::Net::Image^ xTrgImg)
 Converts this image from a custom data type into the corresponding primitive data type. More...
 
ImageConvertType (InteropNet::Runtime28::EPixelType ePixelType, InteropNet::Runtime28::EDataType eDataType)
 
bool Create (int iWidth, int iHeight, EPixelType ePixelType, EDataType eDataType)
 Prepares memory. More...
 
virtual bool Create (Net::ImageFormat^ xFormat)
 Creates a new image and allocates memory necessary for the given image format. More...
 
virtual void Create (Rx::Net::Image^ xCopiedImage)
 Creates a new image which is a copy of the provided source image. More...
 
virtual bool Create (System::Int32 iWidth, System::Int32 iHeight, InteropNet::Runtime28::EPixelType ePixelType, InteropNet::Runtime28::EDataType eDataType)
 Creates a new image and allocates memory necessary for given parameters. More...
 
virtual bool Destroy ()
 Destroys this image and frees all memory used. More...
 
virtual System::Int32 GetByteCount ()
 Get the number of bytes of the whole image. More...
 
virtual System::Int32 GetBytesPerPixel ()
 Gets the bytes per pixel. More...
 
virtual void * GetDataPtr ()
 Gets the data pointer. More...
 
virtual System::Int32 GetPixelCount ()
 Get the number of pixels. More...
 
bool GetPixelNormalized (int iX, int iY, double &dR, double &dG, double &dB, double &dA)
 
virtual void GetSize (System::Int32^ % iWidth, System::Int32^ % iHeight)
 Get width and height of image. More...
 
virtual void GetType (InteropNet::Runtime28::EPixelType % ePixelType, InteropNet::Runtime28::EDataType % eDataType)
 Get pixel and data type of image. More...
 
bool IsOfType (InteropNet::Runtime28::EPixelType ePixelType, InteropNet::Runtime28::EDataType eDataType)
 Test whether image is of a particular pixel and data type. More...
 
bool Normalize ()
 Find minimal and maximal value of image and normalize image to range [0,1]. More...
 
void SetTimestampID (double dTimestamp, unsigned uID)
 Sets the timestamp and the ID of the image. More...
 
void SetZero ()
 

Properties

InteropNet::Runtime28::EDataType DataType [get]
 Gets the type of the data. More...
 
Net::ImageFormatFormat [get]
 Gets the format of this image. More...
 
System::Int32 Height [get]
 Gets the height of this image in pixels. More...
 
unsigned ID [get, set]
 Gets or sets the ID of this image. More...
 
System::Boolean IsValid [get]
 Flags whether this image is valid or not. More...
 
InteropNet::Runtime28::EPixelType PixelType [get]
 Gets the type of the pixel. More...
 
double Timestamp [get, set]
 Gets or sets the timestamp of the image capture. Is 0.0 if this image has no timestamp. More...
 
System::Int32 Width [get]
 Gets the width of this image in pixels. More...
 

Constructor & Destructor Documentation

◆ CudaHostImage()

Rx::LFR::Net::CudaHostImage::CudaHostImage ( )
inline

Default constructor.

Member Function Documentation

◆ Clone()

virtual Image ^ Rx::Net::Image::Clone ( )
virtualinherited

Makes a deep copy of this object.

Returns
A copy of this object.

◆ ConvertCustomType()

void Rx::Net::Image::ConvertCustomType ( Rx::Net::Image xTrgImg)
inlineinherited

Converts this image from a custom data type into the corresponding primitive data type.

The following conversion are implemented:

  • EDataType::Custom_10in16_LSB into EDataType::UShort
  • EDataType::Custom_12in16_LSB into EDataType::UShort.
Parameters
xTrgImg[out] The target image. This is created within the correct format.

◆ ConvertType()

Image ^ Rx::Net::Image::ConvertType ( InteropNet::Runtime28::EPixelType  ePixelType,
InteropNet::Runtime28::EDataType  eDataType 
)
inherited

◆ Create() [1/4]

bool Rx::InteropNet::Runtime28::IImage::Create ( int  iWidth,
int  iHeight,
EPixelType  ePixelType,
EDataType  eDataType 
)
inherited

Prepares memory.

Parameters
iWidthThe width.
iHeightThe height.
ePixelTypeIdentifier for the image type.
eDataTypeIdentifier for the data type.
Returns
True if it succeeds, false if it fails.

◆ Create() [2/4]

virtual bool Rx::Net::Image::Create ( Net::ImageFormat xFormat)
virtualinherited

Creates a new image and allocates memory necessary for the given image format.

If an image has been created before, the old image and all used memory is freed before creating the new image.

Parameters
xFormat[in] The image format.
Returns
True if it succeeds, false if it fails.

◆ Create() [3/4]

virtual void Rx::Net::Image::Create ( Rx::Net::Image xCopiedImage)
virtualinherited

Creates a new image which is a copy of the provided source image.

This function only allocates memory if this operation changes the layout of the stored image.

Parameters
xCopiedImage[in] The image which should be copied.

◆ Create() [4/4]

virtual bool Rx::Net::Image::Create ( System::Int32  iWidth,
System::Int32  iHeight,
InteropNet::Runtime28::EPixelType  ePixelType,
InteropNet::Runtime28::EDataType  eDataType 
)
virtualinherited

Creates a new image and allocates memory necessary for given parameters.

If an image has been created before, the old image and all used memory is freed before creating the new image.

Parameters
iWidthZero-based index of the width.
iHeightZero-based index of the height.
ePixelTypeType of the image.
eDataTypeType of the data.
Returns
True if it succeeds, false if it fails.

◆ Destroy()

virtual bool Rx::Net::Image::Destroy ( )
virtualinherited

Destroys this image and frees all memory used.

Returns
True if it succeeds, false if it fails.

Implements Rx::InteropNet::Runtime28::IImage.

◆ GetByteCount()

virtual System::Int32 Rx::Net::Image::GetByteCount ( )
inlinevirtualinherited

Get the number of bytes of the whole image.

◆ GetBytesPerPixel()

virtual System::Int32 Rx::Net::Image::GetBytesPerPixel ( )
virtualinherited

Gets the bytes per pixel.

Returns
The bytes per pixel.

Implements Rx::InteropNet::Runtime28::IImage.

◆ GetDataPtr()

virtual void* Rx::Net::Image::GetDataPtr ( )
virtualinherited

Gets the data pointer.

Returns
null if it fails, else the data pointer.

Implements Rx::InteropNet::Runtime28::IImage.

◆ GetPixelCount()

virtual System::Int32 Rx::Net::Image::GetPixelCount ( )
inlinevirtualinherited

Get the number of pixels.

◆ GetPixelNormalized()

bool Rx::Net::Image::GetPixelNormalized ( int  iX,
int  iY,
double &  dR,
double &  dG,
double &  dB,
double &  dA 
)
inlineinherited

◆ GetSize()

virtual void Rx::Net::Image::GetSize ( System::Int32^ %  iWidth,
System::Int32^ %  iHeight 
)
inlinevirtualinherited

Get width and height of image.

◆ GetType()

virtual void Rx::Net::Image::GetType ( InteropNet::Runtime28::EPixelType ePixelType,
InteropNet::Runtime28::EDataType eDataType 
)
inlinevirtualinherited

Get pixel and data type of image.

◆ IsOfType()

bool Rx::Net::Image::IsOfType ( InteropNet::Runtime28::EPixelType  ePixelType,
InteropNet::Runtime28::EDataType  eDataType 
)
inlineinherited

Test whether image is of a particular pixel and data type.

◆ Normalize()

bool Rx::Net::Image::Normalize ( )
inlineinherited

Find minimal and maximal value of image and normalize image to range [0,1].

Attention
Is currently only implemented for pixel type TPixel_L_f.

◆ SetTimestampID()

void Rx::Net::Image::SetTimestampID ( double  dTimestamp,
unsigned  uID 
)
inlineinherited

Sets the timestamp and the ID of the image.

Parameters
dTimestampThe timestamp.
uIDThe ID.

◆ SetZero()

void Rx::Net::Image::SetZero ( )
inlineinherited

Property Documentation

◆ DataType

InteropNet:: Runtime28:: EDataType Rx::Net::Image::DataType
getinherited

Gets the type of the data.

◆ Format

Net:: ImageFormat^ Rx::Net::Image::Format
getinherited

Gets the format of this image.

◆ Height

System:: Int32 Rx::Net::Image::Height
getinherited

Gets the height of this image in pixels.

◆ ID

unsigned Rx::Net::Image::ID
getsetinherited

Gets or sets the ID of this image.

◆ IsValid

System:: Boolean Rx::Net::Image::IsValid
getinherited

Flags whether this image is valid or not.

An image is valid if memory has been allocated.

◆ PixelType

InteropNet:: Runtime28:: EPixelType Rx::Net::Image::PixelType
getinherited

Gets the type of the pixel.

◆ Timestamp

double Rx::Net::Image::Timestamp
getsetinherited

Gets or sets the timestamp of the image capture. Is 0.0 if this image has no timestamp.

◆ Width

System:: Int32 Rx::Net::Image::Width
getinherited

Gets the width of this image in pixels.