Defines | Functions

libfilters/ofLinearFilterANI.cc File Reference

#include <math.h>
#include "ofSeparableConvolution.h"
#include "ofLinearFilter.h"
#include "ofGaborFilter.h"
#include <iostream>
#include <iomanip>
#include <fstream>

Defines

#define REMOVE_REMAINDER_FORWARD(val)
#define REMOVE_REMAINDER_BACKWARD(val)
#define MAX_VECTOR_COMPONENT   4

Functions

void ComputeBsFromSigma3 (const double sigma, double &B, double &b1, double &b2, double &b3)
template<typename FLOAT >
void SuggestIIRBoundaries (const FLOAT b1, const FLOAT b2, const FLOAT b3, FLOAT *M)
template<typename FLOAT >
void SuggestIIRBoundaries (const double B1, const double B2, const double B3, const double Freq, FLOAT *MRe, FLOAT *MIm)
template<typename FLOAT >
void SuggestIIRBoundariesGB (const double B1, const double B2, const double B3, const double Freq, FLOAT *MRe, FLOAT *MIm)
template<class VOXEL >
int ApplyIIRGaussInteger1D (i3d::Image3d< VOXEL > const &Input, i3d::Image3d< VOXEL > &Out, const int dx, const int dy, const int dz, const VOXEL Sigma)
template<class VOXEL >
int ApplyIIRGaussInteger1DGB (i3d::Image3d< VOXEL > const &InRe, i3d::Image3d< VOXEL > const &InIm, i3d::Image3d< VOXEL > &OutRe, i3d::Image3d< VOXEL > &OutIm, const int dx, const int dy, const int dz, const double Sigma, const double Frequency)
int ComputeLampertParams (const double phi, const double psi, const double sigmaX, const double sigmaY, const double sigmaZ, double &v12, double &v13, double &v23, double &d1, double &d2, double &d3)
int ComputeLampertParams (const double phi, const double sigmaX, const double sigmaY, double &v12, double &d1, double &d2)
template<class VOXEL >
void ApplyIIRGaussShearA (i3d::Image3d< VOXEL > const &Input, i3d::Image3d< VOXEL > &Out, const VOXEL v12, const signed short ySlope, const VOXEL Sigma)
template<class VOXEL >
void ApplyIIRGaussShearB (i3d::Image3d< VOXEL > const &Input, i3d::Image3d< VOXEL > &Out, const VOXEL v13, const VOXEL v23, const signed short zSlope, const VOXEL Sigma)
void AdjustInputOrientation (double &xyphi, double &xzpsi, int &xDir, int &yDir, int &zDir)
void AdjustInputOrientation (double &xyphi, int &xDir, int &yDir)
template<class VOXEL >
int ApplyANIGaussL (i3d::Image3d< VOXEL > const &in, i3d::Image3d< VOXEL > &out, const double xyPhi, const double xzPsi, const double sigmaX, const double sigmaY, const double sigmaZ)
void EnumerateBases (int MaxTwos, int bases[][6][3], int &HowMany)
void EnumerateBases91 (int MaxTwos, int bases[][6][3], int &HowMany)
int GetIDOfBase (int const (&vecs)[6][3])
int GetIDOfEquivalentBase (int const (&vecs)[6][3], int newIndex[6])
int GetBaseFromID (const int ID, int vecs[6][3])
template<class VOXEL >
void ApplyBaseConvolutions (i3d::Image3d< VOXEL > const &in, i3d::Image3d< VOXEL > &out, const int vecs[6][3], const double sigs[6])
template<class VOXEL >
void ApplyBaseConvolutions2 (i3d::Image3d< VOXEL > const &in, i3d::Image3d< VOXEL > &out, const int vecs[6][3], const double sigs[6])
template<class VOXEL >
void ApplyBaseConvolutions (i3d::Image3d< VOXEL > const &in, i3d::Image3d< VOXEL > &out, const int vecs[3][2], const double sigs[3])
template<class VOXEL >
void ApplyBaseConvolutions (i3d::Image3d< VOXEL > const &in, i3d::Image3d< VOXEL > &out, const int baseID, const double sigs[6])
template<class VOXEL >
int GetGaussianImpulseResponse (i3d::Image3d< VOXEL > &res, const VOXEL impulse, const double xyPhi, const double xzPsi, const double sigmaX, const double sigmaY, const double sigmaZ, const int xL, const int yL, const int zL)
void dgesv_ (int *n, int *k, double *A, int *lda, int *ipiv, double *X, int *ldx, int *info)
int GetParamsANIGaussU (const double xyPhi, const double xzPsi, const double sigmaX, const double sigmaY, const double sigmaZ, int vecs[6][3], double sigs[6])
int GetParamsANIGaussU (const double xyPhi, const double sigmaX, const double sigmaY, int vecs[3][2], double sigs[3])
int GetParamsANIGaussUb (const double xyPhi, const double xzPsi, const double sigmaX, const double sigmaY, const double sigmaZ, const int vecs[6][3], double sigs[6])
int GetParamsANIGaussUb (const double xyPhi, const double xzPsi, const double sigmaX, const double sigmaY, const double sigmaZ, const int baseID, double sigs[6])
int GetParamsANIGaussUb (const double xyPhi, const double sigmaX, const double sigmaY, const int vecs[3][2], double sigs[3])
template<class VOXEL >
int ApplyANIGaussU (i3d::Image3d< VOXEL > const &in, i3d::Image3d< VOXEL > &out, const double xyPhi, const double xzPsi, const double sigmaX, const double sigmaY, const double sigmaZ)
template<class VOXEL , typename FLOAT >
int FullGaussFiltering (Image3d< VOXEL > const &in, Image3d< VOXEL > &out, const FLOAT Phi, const FLOAT Psi, const FLOAT xSigma, const FLOAT ySigma, const FLOAT zSigma, const int xL, const int yL, const int zL)
template int ApplyIIRGaussInteger1D (i3d::Image3d< float > const &, i3d::Image3d< float > &, const int, const int, const int, const float)
template int ApplyIIRGaussInteger1DGB (Image3d< float > const &, Image3d< float > const &, Image3d< float > &, Image3d< float > &, const int, const int, const int, const double, const double)
template int ApplyIIRGaussInteger1DGB (Image3d< double > const &, Image3d< double > const &, Image3d< double > &, Image3d< double > &, const int, const int, const int, const double, const double)
template void ApplyIIRGaussShearA (i3d::Image3d< float > const &, i3d::Image3d< float > &, const float, const signed short, const float)
template void ApplyIIRGaussShearB (i3d::Image3d< float > const &, i3d::Image3d< float > &, const float, const float, const signed short, const float)
template void ApplyBaseConvolutions2 (i3d::Image3d< float > const &, i3d::Image3d< float > &, const int[6][3], const double[6])
template void ApplyBaseConvolutions2 (i3d::Image3d< double > const &, i3d::Image3d< double > &, const int[6][3], const double[6])
template int ApplyANIGaussL (i3d::Image3d< float > const &, i3d::Image3d< float > &, const double, const double, const double, const double, const double)
template int ApplyANIGaussL (i3d::Image3d< double > const &, i3d::Image3d< double > &, const double, const double, const double, const double, const double)
template int ApplyANIGaussU (i3d::Image3d< float > const &, i3d::Image3d< float > &, const double, const double, const double, const double, const double)
template int ApplyANIGaussU (i3d::Image3d< double > const &, i3d::Image3d< double > &, const double, const double, const double, const double, const double)
template int GetGaussianImpulseResponse (i3d::Image3d< float > &, const float, const double, const double, const double, const double, const double, const int, const int, const int)
template int GetGaussianImpulseResponse (i3d::Image3d< double > &, const double, const double, const double, const double, const double, const double, const int, const int, const int)
template int GetGaussianImpulseResponse (i3d::Image3d< GRAY16 > &, const GRAY16, const double, const double, const double, const double, const double, const int, const int, const int)
template int GetGaussianImpulseResponse (i3d::Image3d< GRAY8 > &, const GRAY8, const double, const double, const double, const double, const double, const int, const int, const int)
template int FullGaussFiltering (i3d::Image3d< float > const &, i3d::Image3d< float > &, const float, const float, const float, const float, const float, const int, const int, const int)
template<class VOXEL >
double NormalizedSquareError (Image3d< VOXEL > const &test, Image3d< VOXEL > const &ref)
template double NormalizedSquareError (i3d::Image3d< float > const &test, i3d::Image3d< float > const &ref)
template double NormalizedSquareError (i3d::Image3d< double > const &test, i3d::Image3d< double > const &ref)
template double NormalizedSquareError (i3d::Image3d< GRAY8 > const &test, i3d::Image3d< GRAY8 > const &ref)
template double NormalizedSquareError (i3d::Image3d< GRAY16 > const &test, i3d::Image3d< GRAY16 > const &ref)

Define Documentation

#define REMOVE_REMAINDER_FORWARD (   val  ) 
#define REMOVE_REMAINDER_BACKWARD (   val  ) 

Function Documentation

template<typename FLOAT >
void SuggestIIRBoundariesGB ( const double  B1,
const double  B2,
const double  B3,
const double  Freq,
FLOAT *  MRe,
FLOAT *  MIm 
)
void dgesv_ ( int *  n,
int *  k,
double *  A,
int *  lda,
int *  ipiv,
double *  X,
int *  ldx,
int *  info 
)
template<class VOXEL , typename FLOAT >
int FullGaussFiltering ( Image3d< VOXEL > const &  in,
Image3d< VOXEL > &  out,
const FLOAT  Phi,
const FLOAT  Psi,
const FLOAT  xSigma,
const FLOAT  ySigma,
const FLOAT  zSigma,
const int  xL,
const int  yL,
const int  zL 
)
template int ApplyIIRGaussInteger1D ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   int,
const   int,
const   int,
const   float 
)
template int ApplyIIRGaussInteger1DGB ( Image3d< float > const &  ,
Image3d< float > const &  ,
Image3d< float > &  ,
Image3d< float > &  ,
const   int,
const   int,
const   int,
const   double,
const   double 
)
template int ApplyIIRGaussInteger1DGB ( Image3d< double > const &  ,
Image3d< double > const &  ,
Image3d< double > &  ,
Image3d< double > &  ,
const   int,
const   int,
const   int,
const   double,
const   double 
)
template void ApplyIIRGaussShearA ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   float,
const signed  short,
const   float 
)
template void ApplyIIRGaussShearB ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   float,
const   float,
const signed  short,
const   float 
)
template void ApplyBaseConvolutions2 ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   int[6][3],
const   double[6] 
)
template void ApplyBaseConvolutions2 ( i3d::Image3d< double > const &  ,
i3d::Image3d< double > &  ,
const   int[6][3],
const   double[6] 
)
template int ApplyANIGaussL ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   double,
const   double,
const   double,
const   double,
const   double 
)
template int ApplyANIGaussL ( i3d::Image3d< double > const &  ,
i3d::Image3d< double > &  ,
const   double,
const   double,
const   double,
const   double,
const   double 
)
template int ApplyANIGaussU ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   double,
const   double,
const   double,
const   double,
const   double 
)
template int ApplyANIGaussU ( i3d::Image3d< double > const &  ,
i3d::Image3d< double > &  ,
const   double,
const   double,
const   double,
const   double,
const   double 
)
template int GetGaussianImpulseResponse ( i3d::Image3d< float > &  ,
const   float,
const   double,
const   double,
const   double,
const   double,
const   double,
const   int,
const   int,
const   int 
)
template int GetGaussianImpulseResponse ( i3d::Image3d< double > &  ,
const   double,
const   double,
const   double,
const   double,
const   double,
const   double,
const   int,
const   int,
const   int 
)
template int GetGaussianImpulseResponse ( i3d::Image3d< GRAY16 > &  ,
const   GRAY16,
const   double,
const   double,
const   double,
const   double,
const   double,
const   int,
const   int,
const   int 
)
template int GetGaussianImpulseResponse ( i3d::Image3d< GRAY8 > &  ,
const   GRAY8,
const   double,
const   double,
const   double,
const   double,
const   double,
const   int,
const   int,
const   int 
)
template int FullGaussFiltering ( i3d::Image3d< float > const &  ,
i3d::Image3d< float > &  ,
const   float,
const   float,
const   float,
const   float,
const   float,
const   int,
const   int,
const   int 
)
template<class VOXEL >
double NormalizedSquareError ( Image3d< VOXEL > const &  test,
Image3d< VOXEL > const &  ref 
)
template double NormalizedSquareError ( i3d::Image3d< float > const &  test,
i3d::Image3d< float > const &  ref 
)
template double NormalizedSquareError ( i3d::Image3d< double > const &  test,
i3d::Image3d< double > const &  ref 
)
template double NormalizedSquareError ( i3d::Image3d< GRAY8 > const &  test,
i3d::Image3d< GRAY8 > const &  ref 
)
template double NormalizedSquareError ( i3d::Image3d< GRAY16 > const &  test,
i3d::Image3d< GRAY16 > const &  ref 
)