QTrk
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
TImageData< T > Struct Template Reference

#include <QueuedTracker.h>

Public Member Functions

 TImageData ()
 
 TImageData (T *d, int w, int h)
 
template<typename Ta >
void set (Ta *src)
 
template<typename Ta >
void set (const TImageData< Ta > &src)
 
void copyTo (float *dst)
 
T & at (int x, int y)
 
interpolate (float x, float y, bool *outside=0)
 
interpolate1D (int y, float x)
 
int numPixels () const
 
int pitch () const
 
void normalize ()
 
mean ()
 
T & operator[] (int i)
 
void free ()
 
void writeAsCSV (const char *filename, const char *labels[]=0)
 

Static Public Member Functions

static TImageData alloc (int w, int h)
 

Public Attributes

T * data
 
int w
 
int h
 

Detailed Description

template<typename T>
struct TImageData< T >

Definition at line 69 of file QueuedTracker.h.

Constructor & Destructor Documentation

§ TImageData() [1/2]

template<typename T>
TImageData< T >::TImageData ( )
inline

Definition at line 82 of file utils.h.

82 { data=0;w=h=0;}
int h
Definition: utils.h:81
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

§ TImageData() [2/2]

template<typename T>
TImageData< T >::TImageData ( T *  d,
int  w,
int  h 
)
inline

Definition at line 83 of file utils.h.

83 : data(d), w(w),h(h) {}
int h
Definition: utils.h:81
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

Member Function Documentation

§ alloc()

template<typename T>
static TImageData TImageData< T >::alloc ( int  w,
int  h 
)
inlinestatic

Definition at line 110 of file utils.h.

110 { return TImageData<T>(new T[w*h], w,h); }
int h
Definition: utils.h:81
int w
Definition: utils.h:81

§ at()

template<typename T>
T& TImageData< T >::at ( int  x,
int  y 
)
inline

Definition at line 96 of file utils.h.

96 { return data[w*y+x]; }
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

§ copyTo()

template<typename T>
void TImageData< T >::copyTo ( float *  dst)
inline

Definition at line 93 of file utils.h.

93  {
94  for (int i=0;i<w*h;i++) dst[i]=data[i];
95  }
int h
Definition: utils.h:81
T * data
Definition: utils.h:80
int w
Definition: utils.h:81

§ free()

template<typename T>
void TImageData< T >::free ( )
inline

Definition at line 111 of file utils.h.

111 { if(data) delete[] data;data=0; }
T * data
Definition: utils.h:80

§ interpolate()

template<typename T>
T TImageData< T >::interpolate ( float  x,
float  y,
bool *  outside = 0 
)
inline

Definition at line 97 of file utils.h.

97 { return Interpolate(data, w,h, x,y,outside); }
int h
Definition: utils.h:81
T Interpolate(T *image, int width, int height, float x, float y, bool *outside=0)
Definition: utils.h:43
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

§ interpolate1D()

template<typename T>
T TImageData< T >::interpolate1D ( int  y,
float  x 
)
inline

Definition at line 98 of file utils.h.

98 { return Interpolate1D(&data[w*y], w, x); }
T Interpolate1D(T *d, int len, float x)
Definition: utils.h:64
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

§ mean()

template<typename T>
T TImageData< T >::mean ( )
inline

Definition at line 102 of file utils.h.

102  {
103  T s=0.0f;
104  for(int x=0;x<w*h;x++)
105  s+=data[x];
106  return s/(w*h);
107  }
int h
Definition: utils.h:81
T * data
Definition: utils.h:80
int w
Definition: utils.h:81

§ normalize()

template<typename T>
void TImageData< T >::normalize ( )
inline

Definition at line 101 of file utils.h.

101 { ::normalize(data,w,h); }
void normalize()
Definition: utils.h:101
int h
Definition: utils.h:81
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

§ numPixels()

template<typename T>
int TImageData< T >::numPixels ( ) const
inline

Definition at line 99 of file utils.h.

99 { return w*h; }
int h
Definition: utils.h:81
int w
Definition: utils.h:81

§ operator[]()

template<typename T>
T& TImageData< T >::operator[] ( int  i)
inline

Definition at line 108 of file utils.h.

108 { return data[i]; }
T * data
Definition: utils.h:80

§ pitch()

template<typename T>
int TImageData< T >::pitch ( ) const
inline

Definition at line 100 of file utils.h.

100 { return sizeof(T)*w; } // bytes per line
int w
Definition: utils.h:81

§ set() [1/2]

template<typename T>
template<typename Ta >
void TImageData< T >::set ( Ta *  src)
inline

Definition at line 84 of file utils.h.

84 { for (int i=0;i<w*h;i++) data[i] = src[i]; }
int h
Definition: utils.h:81
T * data
Definition: utils.h:80
int w
Definition: utils.h:81

§ set() [2/2]

template<typename T>
template<typename Ta >
void TImageData< T >::set ( const TImageData< Ta > &  src)
inline

Definition at line 85 of file utils.h.

85  {
86  if (!data || numPixels()!=src.numPixels()) {
87  free();
88  w=src.w; h=src.h;
89  if(src.data) { data=new T[src.w*src.h]; }
90  }
91  set(src.data);
92  }
int numPixels() const
Definition: utils.h:99
void free()
Definition: utils.h:111
int h
Definition: utils.h:81
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

§ writeAsCSV()

template<typename T>
void TImageData< T >::writeAsCSV ( const char *  filename,
const char *  labels[] = 0 
)
inline

Definition at line 112 of file utils.h.

112 { WriteImageAsCSV(filename, data, w,h,labels); }
void WriteImageAsCSV(const char *file, float *d, int w, int h, const char *labels[]=0)
Definition: utils.cpp:551
int h
Definition: utils.h:81
int w
Definition: utils.h:81
T * data
Definition: utils.h:80

Member Data Documentation

§ data

template<typename T>
T* TImageData< T >::data

Definition at line 80 of file utils.h.

§ h

template<typename T>
int TImageData< T >::h

Definition at line 81 of file utils.h.

§ w

template<typename T>
int TImageData< T >::w

Definition at line 81 of file utils.h.


The documentation for this struct was generated from the following files: