DataManager Class Reference

Manages Texture Memory on Graphics Card. More...

#include <DataManager.h>

List of all members.

Public Member Functions

 DataManager (int w, int h, int nframes, int nlevels, int kltsubsampling, int kltpyrlevels, int kltnumfeats, int kltiterations)
 Constructor.
 ~DataManager ()
 Destructor.
void initTextureUnits (int w, int h)
 Initializes all the texture units in GPU.
void resetInputTexture (int nplanes, unsigned char *image)
 Resets the input texture unit (for video/image sequence processing.
void toggleFrames ()
 Toggle between Current and Previous Frame [ FOR nFrames == 2 ONLY ].
void uploadFeatureTable (GpuKLT_FeatureList *list)
 Upload the Feature list to GPU memory.
void displayPyramids (int winW, int winH, Kernel *kernel, Kernel *red, Kernel *blue)
 Display The Whole Pyramid.
void displayPyramidBlock (int aux, int frame, int level, Kernel *kernel)
 Display Pyramid Block.
void displayOrigFrame (Kernel *kernel)
 Display Original Frame.
void displayDistortionMap (Kernel *kernel)
 Display Distortion Map.
void displayCornerness (Kernel *kernel, Kernel *colorkernel)
 Display Cornerness Frame.
void displayUndistortedFrame (Kernel *k1, Kernel *kernel, int winw, int winh, float time, int trcount, int ftcount, int ftadded)
 Display Undistorted Frame.
void displayFeatureTable (Kernel *kernel)
 Display Feature Table.
void displayFloatingWindow (Kernel *kernel)
 Display Floating Window.
void displayPartialSum (Kernel *kernel)
 Display Partial Sum.
void displayMatrixElem (Kernel *kernel)
 Display Matrix Element.
void displayDebugTable (Kernel *kernel)
 Display Debug Table.
TextureUnitgetPyramidBlock (int frameIndex, int level, int which_plane)
 Accessor Function :.
TextureUnitgetInputTextureUnit ()
 Accessor Function :.
TextureUnitgetDistortionMapTextureUnit ()
 Accessor Function :.
TextureUnitgetFeaturesTextureUnit ()
 Accessor Function :.
TextureUnitgetFloatingWindowTextureUnit ()
 Accessor Function :.
TextureUnitgetPartialSumTextureUnit ()
 Accessor Function :.
TextureUnitgetMatrixElemTextureUnit ()
 Accessor Function :.
TextureUnitgetCornerness1TextureUnit ()
 Accessor Function :.
TextureUnitgetCornerness2TextureUnit ()
 Accessor Function :.
int getImgWidth ()
 Accessor Function : Returns width of video frame.
int getImgHeight ()
 Accessor Function : Returns height of video frame.
int getNumLevels ()
 Accessor Function : Returns number of levels within octave.
int getCurrentFrameIndex ()
 Accessor Function : Get current Frame Index.
int getNumKLTIterations ()
 Accessor Function : Get num KLT Iterations.
int getFeatureTableSize ()
 Accessor Function : Get max feature table size.
int getXSize ()
 Accessor Function : Get Texture Unit dimension.
int getYSize ()
 Accessor Function : Get Texture Unit dimension.
float getXOffset ()
 Accessor Function : Get Texture Unit dimension reciprocal.
float getYOffset ()
 Accessor Function : Get Texture Unit dimension reciprocal.

Public Attributes

TextureUnitdebugTable
 Texture Unit for debugging - REMOVE LATER ON !
FramebufferObject _fbo
 The 1st framebuffer object.
FramebufferObject _fbo1
 The 2nd framebuffer object.
Renderbuffer _rb
 Optional: The renderbuffer object used for depth.
float * data
 A pointer to a floating point buffer - used for uploaded data into Texture Memory.


Detailed Description

Manages Texture Memory on Graphics Card.

It manages 2D Texture units used for read / write using FBO's. The Texture Manager (1) Allocates suitable memory (2) Manages the collection of texture units for the various stages ..


Constructor & Destructor Documentation

DataManager::DataManager int  w,
int  h,
int  nframes,
int  nlevels,
int  kltsubsampling,
int  kltpyrlevels,
int  kltnumfeats,
int  kltiterations
 

Constructor.

Parameters:
w,h : size of orig image
nframes : how many consecutive frames to store on graphics card.
nlevels : num pyramid levels.
kltsubsampling,: Subsampling in the KLT Pyramid.
kltpyrlevels : num pyramid levels in KLT Pyramid
kltnumfeats : num features for GPU KLT Tracking.
kltiterations,: num iterations within track( ) for each pyramid level.


Member Function Documentation

void DataManager::displayCornerness Kernel kernel,
Kernel colorkernel
 

Display Cornerness Frame.

Parameters:
kernel,colorkernel : Use this fragment program object to display the texture memory

void DataManager::displayDebugTable Kernel kernel  ) 
 

Display Debug Table.

Parameters:
kernel : Use this fragment program object to display the texture memory

void DataManager::displayDistortionMap Kernel kernel  ) 
 

Display Distortion Map.

Parameters:
kernel : Use this fragment program object to display the texture memory

void DataManager::displayFeatureTable Kernel kernel  ) 
 

Display Feature Table.

Parameters:
kernel : Use this fragment program object to display Feature Table

void DataManager::displayFloatingWindow Kernel kernel  ) 
 

Display Floating Window.

Parameters:
kernel : Use this fragment program object to display the Floating Window Texture Unit

void DataManager::displayMatrixElem Kernel kernel  ) 
 

Display Matrix Element.

Parameters:
kernel : Use this fragment program object to display the Matrix Element Texture Unit

void DataManager::displayOrigFrame Kernel kernel  ) 
 

Display Original Frame.

Parameters:
kernel : Use this fragment program object to display the texture memory

void DataManager::displayPartialSum Kernel kernel  ) 
 

Display Partial Sum.

Parameters:
kernel : Use this fragment program object to display the Partial Sum Texture Unit

void DataManager::displayPyramidBlock int  aux,
int  frame,
int  level,
Kernel kernel
 

Display Pyramid Block.

Parameters:
aux,: 0 or 1
frame,: 0 or 1
kernel,: Use thisfragment program to display the texture memory

void DataManager::displayPyramids int  winW,
int  winH,
Kernel kernel,
Kernel red,
Kernel blue
 

Display The Whole Pyramid.

Parameters:
winW,winH : Window dimensions.
kernel,red,blue : Use these fragment programs to display the texture memory

void DataManager::displayUndistortedFrame Kernel k1,
Kernel kernel,
int  winw,
int  winh,
float  time,
int  trcount,
int  ftcount,
int  ftadded
 

Display Undistorted Frame.

Parameters:
k1,kernel,: Use this fragment program object to display the texture memory
winw,winh,: window dimensions
time,: timing per frame
ftcount,: how many feature to be tracked
trcount,: how many features were tracked
ftadded,: how many features were re-injected

TextureUnit * DataManager::getPyramidBlock int  frameIndex,
int  level,
int  which_plane
 

Accessor Function :.

Parameters:
frameIndex,: 0 or 1
level,: 0, 1, 2 .. maxlevel-1
which_plane,: main storage or auxiliary storage

void DataManager::initTextureUnits int  w,
int  h
 

Initializes all the texture units in GPU.

Parameters:
w : Input Image Width.
h : Input Image Height

void DataManager::resetInputTexture int  nplanes,
unsigned char *  imagedata
 

Resets the input texture unit (for video/image sequence processing.

Parameters:
nplanes,: 3 for rgb images
imagedata,: 8-bit Image data (Next Frame in Image Sequence)

void DataManager::uploadFeatureTable GpuKLT_FeatureList ftTable  ) 
 

Upload the Feature list to GPU memory.

Parameters:
ftTable,: Feature list which contains data to be uploaded into GPU memory.


The documentation for this class was generated from the following files:
Generated on Sat Apr 15 01:22:18 2006 for GpuVis by  doxygen 1.4.6-NO