SLIMMER
Classes | Functions | Variables
BasicClass

Functions for File Name Manipulation. More...

Classes

class  BasicHeader
 Medical Image Volume Info. More...
class  GaussianKernels< T >
class  LinTransList< T >
 Class for holding a List of Linear Transformations. More...
class  ReadDataType
 Read Low Level Data Types From File. More...
class  SimpleBaseTMat< TM, TS2 >
 Templated Base Class for Matrices. More...
class  SimpleBaseTVec< T, TS >
 Templated Base Class for Vectors. More...
class  ExpLinearApprox< T >
 Linear approximation of exp for faster evaluation. More...
class  SimpleGlobalLog
 Keep a text file log for command line programs. More...
class  SimpleInterp< TOUT >
 Class for Interpolation of Values on a regular 2D or 3D grid. More...
class  LinTransParam< T >
 Linear Transformation Parameters. More...
class  SimpleNumericArrayIO
 Class for Simple formated IO of Numeric Arrays. More...
class  SimpleTField< T, TS >
 Templated Spatio-Temporal Field of Values. More...
class  SimpleTFieldList< T, TD, TS >
 Class for holding a List of TFields with Associated Data. More...
class  SimpleTMat< TM, MATX, MATY, TS >
 Fixed Size Templated Matrix Class. More...
class  SimpleTVec< T, STVEC_LEN, TS >
 Fixed Size Templated Vector Class. More...
class  SimpleVoxIO
 Voxel Input/Output Class. More...
class  SimpleVTMat< TM, TS >
 Variable Size Templated Matrix Class. More...
class  SimpleVTVec< T, TS >
 Variable Size Templated Vector Class. More...
class  Class
 This class can generate 1D Gaussian kernels and 1D derived Gaussian kernels. In addition it contains an implementation of the error function. More...
class  Transforms
 A class for Transforms. More...

Functions

float keyvp (int argc, char **argv, char *tag, float def)
 Return Floating Point Number value following a given string tag in the argument list, with default value def.
float keyvp (int argc, char **argv, char *tag, char *tag2, float def, int off=0)
 Return Floating Point Number value following a given string tag in the argument list, with default value def.
int keyvp (int argc, char **argv, char *tag, int def)
 Return Integer number value follwing a given string tag in the argument list, with default value def.
int keyv (int argc, char **argv, char *tag)
 Return True if a given tag is in the comman line list.
char keyvp (int argc, char **argv, char *tag, char def)
 Return char value following a given string tag in the argument list, with default value def.
char * keyvp (int argc, char **argv, char *tag)
 Return string following a given string tag in comman line argumant list.
template<typename T >
int MaskSpotClean (int maskThresh, T *refimMask, int neighb, int BackGround=-32768)
 Spot Clean Mask: ==========================.
template<typename T >
SimpleTVec< float, 3 > CentOfMass (SimpleTField< T > &LabelsIn, T Threshold=0)
 Calcuate Center of mass of the Labels.
template<typename T >
void Label2MultiFrame (SimpleTField< T > &LabelsIn, SimpleTField< T > &multiFrameOut, const int LabelVal=100)
 Convert a Label Image Into a Multi Frame Image with Each Frame Holding One Label.
template<typename T >
void MaskExtent (SimpleTField< T > *Mask, T maskThresh, SimpleTVec< int, 3 > &min, SimpleTVec< int, 3 > &max, bool Update=(1==0))
 Mask Extent=============================.
template<typename T >
void MaskDilate (int maskThresh, T *refimMask, int ndil)
 Dilate mask =============================.
template<typename T >
void MaskDilate (int maskThresh, T *refim, T *transim, T *refimMask, int ndil)
 Dilate mask =============================.
template<typename T >
void maskTruncate (T *refimMask, unsigned int width)
 Truncate mask Around Image Boundaries.
template<typename T >
int Mask2TargetLinTrans (T *refimMask, T *transim, LinTransParam< float > &tp, int bound)
 Adapt Mask to be within the Overlap with a Second Image Volume.
template<typename T1 , typename T2 >
void EigenDecomp (SimpleTField< T1 > &stf, SimpleTField< T1 > &eVec, SimpleTField< T2 > &eVal)
template<typename T1 >
void Gradient (SimpleTField< T1 > &stf, SimpleTField< T1 > &out)
template<typename T1 , typename T2 >
SimpleTField< T2 > Convolve (SimpleTField< T1 > &stf, SimpleTField< T2 > &kernel)
 Convolve two TFields: Btter use the Built in Function!
template<typename T >
void GaussianKernel (const SimpleTVec< int, 3 > &nVox, const SimpleTVec< float, 3 > &VoxSz, const SimpleTMat< float, 3, 3 > &cov, SimpleTField< T > &w, int normalized=1)
 Make a Gaussian Kernel: Better use the Built in Functions for blurring !
template<typename T >
void GaussianKernel (const SimpleTVec< int, 3 > &nVox, const SimpleTVec< float, 3 > &VoxSz, const SimpleTVec< float, 3 > &sigma, SimpleTField< T > &w, int normalized=1)
 Make a Gaussian Kernel: Better use the Built in Functions for blurring !
SimpleTField< float > GaussianKernel (const SimpleTVec< int, 3 > &nVox, const SimpleTVec< float, 3 > &VoxSz, const SimpleTVec< float, 3 > &sigma)
 Make a Gaussian Kernel: Better use the Built in Functions for blurring !
template<typename T1 , typename T2 >
void Blur (const SimpleTField< T1 > &in, SimpleTField< T2 > &out, float sx=1.0f, float sy=-1.0f, float sz=-1.0f)
 Blur an Image: Better use SimpleGaussFilt() in SimpleTField class.
int Pattern2FileName (char *name, char *pattern, int index=0)
 Return the file corresponding to a given File Path/Name Pattern.
void LogToFile (char *entry)
 Store a string in the Log File.
FILE * LogFileFP ()
 Return File Pointer to Log.
void LogTime ()
 Log the current time to the log file.
template<typename T >
void BubbleSort (int *index, T *val, int num)
template<typename T , unsigned int LEN>
void BubbleSortVec (SimpleTVec< unsigned int, LEN > *index, SimpleTVec< T, LEN > *val, int num)
template<typename T , unsigned int LEN, unsigned int LEN2>
void BubbleSortMat (SimpleTMat< unsigned int, LEN, LEN2 > *index, SimpleTMat< T, LEN, LEN2 > *val, unsigned int num)
void RandomIndex (int *index, int num)
void RandomSampleIndex (int *index, int num)
SimpleTMat< float, 4, 4 > LinTrans_mm2vox (const SimpleTMat< float, 4, 4 > &mm2mm, const BasicHeader &hdR, const BasicHeader &hdT)
template<typename T >
LinTransParam< T > ComposeRigid (const LinTransParam< T > &f, const LinTransParam< T > &g)
int RANDOM_rint (float f)
float gammln (float xx)
 gammln From Numerical Recipies pp. 218
int gser (float &gamser, float a, float x, float &gln)
void gcf (float &gammcf, float a, float x, float gln)
 gcf From Numerical Recipies pp. 218
float gammq (float a, float x)
 gammq From Numerical Recipies pp. 218
float gammp (float a, float x)
 gammap function from numeric. recip.
float betacf (float a, float b, float x)
 betacf function from numerical recip.
float betai (float a, float b, float x)
 Betaai function from numerical recip.
template<typename T >
cubicBST (T k1, T k2, T k3, T k4, const float &t, float tn)
 Cubic BSpline (A Templated Version)
template<typename T >
cubicBST (T k1, T k2, T k3, T k4, const float &t)
 Cubic BSpline (A Templated Version)
template<typename T >
cubicBST1 (T k1, T k2, T k3, T k4, const float &t)
 Cubic BSpline First Derivative (A Templated Version)
double cubicBS1 (double k1, double k2, double k3, double k4, const float &t, const float &tn)
 Derivative of Cubic B-Spline.
double AVGW (double k1, double k2, double k3, double k4, const float &t, const float &tn)
 Simple Weighted Averaging Function.
double AVG (double k1, double k2, double k3, double k4, const float &t, const float &tn)
 Very Simple Weighted Averaging Function.
float ran1 (long *idum)
 famous ran1 from numeric recip in c p280
void seedran1 (long *rs)
 Set random number.
float ranrange (float min, float max, long *r)
 return random number in range
int ranirange (int min, int max, long *r)
 return random integer number in range
float gaussdev (long *idum)
 return random floating point number with gaussian distribution sigma=1
int igaussdev (long *idum, float mean, float std)
 return random integer with gaussian distribution with required mean and stdev
float ricedev (long *idum, float v, float std)
 Return a random number with Rician Distribution.
float poidev (float xm, long *idum)
 Return a Random number with Poisson Distribution.
float GaussVar1D (const float &d, const float &variance)
 Returns Value of Gaussian Distribution, mean 0, given variance, at a given point.
float Gauss1D (const float &d, const float &sigma)
 Returns Value of Gaussian Distribution, mean 0, given sigma, at a given point.
float GaussFWHM1D (const float &d, const float &fwhm)
 Returns Value of Gaussian Distribution, mean 0, given FWHM (1D), at a given point.
float GaussFWHM3Dsq (const float &dsq, const float &fwhm)
 Returns Value of Gaussian Distribution, mean 0, given FWHM (1D), at a given point(squared)
float GaussFWHM3D (const float &d, const float &fwhm)
 Returns Value of Gaussian Distribution, mean 0, given FWHM (1D), at a given point.
template<typename T >
PsiA (const T &vR, const T &v, const float &K)
 Anisotropic Affinity Function.
template<typename T >
Psi (const T &vR, const T &v, const float &K)
 Anisotropic Diffusion kernel.
template<typename T >
SimpleTMat< T, 3, 3 > logSO3 (SimpleTMat< T, 3, 3 > R)
template<typename T >
SimpleTMat< T, 3, 3 > expso3 (SimpleTMat< T, 3, 3 > A)
template<typename T >
void eig3x3SymmetricMatrix (const SimpleTVec< T, 6 > &m, SimpleTMat< T, 3, 3 > &V, SimpleTVec< T, 3 > &ev)
template<typename T >
void expm3x3 (SimpleTMat< T, 3, 3 > M, SimpleTMat< T, 3, 3 > dM, SimpleTMat< T, 3, 3 > &F, SimpleTMat< T, 3, 3 > &dF)
template<typename T1 >
void WriteMat (T1 &svtm, const char *filename)
template<typename T1 >
SimpleVTMat< T1 > Diag (SimpleVTVec< T1 > &svtv)
template<typename T1 , int L>
SimpleTVec< T1, L > p2p (SimpleTVec< T1, L > v1, SimpleTVec< T1, L > v2)
template<typename T1 >
T1 Sum (SimpleVTMat< T1 > &svtm)
template<typename T >
void HouseholdReflection (SimpleVTVec< T > &v1, SimpleVTVec< T > &v2, SimpleVTVec< T > &u)
template<typename T >
void QR (const SimpleVTMat< T > &A, SimpleVTMat< T > &Q, SimpleVTMat< T > &R)
template<typename T1 , typename T2 >
T1 SIGN (T1 a, T2 b)
template<typename T1 , typename T2 >
T1 FMAX (T1 a, T2 b)
template<typename T1 , typename T2 >
T1 IMIN (T1 a, T2 b)
template<typename T1 , typename T2 >
T1 pythag (T1 a, T2 b)
template<typename T >
void svdcmp (SimpleBaseTMat< T > &a, SimpleBaseTVec< T > &w, SimpleBaseTMat< T > &v)
 SVD.
template<typename T >
void SVD (const SimpleVTMat< T > &a, SimpleVTMat< T > &u, SimpleVTMat< T > &w, SimpleVTMat< T > &v)
template<typename T >
void NullSpace (const SimpleVTMat< T > &in, SimpleVTMat< T > &out)
 Returns a matrix, where the columns are the bases of the null space. n_rows>n_cols is assumed.
template<typename Tdata >
bool SymLinSlvM (SimpleVTMat< Tdata > &A, SimpleVTMat< Tdata > &B, SimpleVTMat< Tdata > &X)
template<typename T1 , typename T2 , typename T3 >
bool PseudoInvSlv (SimpleVTMat< T1 > &A, SimpleVTVec< T2 > &B, SimpleVTVec< T3 > &X)
 Pseudo-inverse solver of a linear problem.
template<typename T1 , typename T2 , typename T3 , typename TS >
SimpleVTVec< int > PseudoInvSlv (SimpleVTMat< T1, TS > &A, SimpleVTVec< T2, TS > &B, SimpleVTVec< T3, TS > &X, T2 d_good, unsigned int n_rep=10000)
 RANSAC version of Pseudo-inverse solver of a linear problem AX=B.
bool FileExists (const char *filename)
template<typename TM , unsigned int MATXY>
SimpleTVec< TM, MATXY > DecompEigenSym (SimpleTMat< TM, MATXY, MATXY, unsigned int > mat, SimpleTMat< TM, MATXY, MATXY, unsigned int > &eVec, int nit=50, int flag=(1==1))
 Decompose Eigen Values/Vectors from Sym. Matrix.
template<typename TM , unsigned int MATXY, typename TS >
SimpleTMat< TM, MATXY, MATXY > ComposeEigenSym (const SimpleTMat< TM, MATXY, MATXY, TS > &eVec, const SimpleTVec< TM, MATXY, TS > &eVals)
 Compose Matrix from Eigen Values/Vectors.
template<typename TM , int MATXY, typename TS >
SimpleTMat< TM, MATXY, MATXY > Sqrt (SimpleTMat< TM, MATXY, MATXY > &mat)
 Matrix Square Root (Sym Matrix)
template<typename TM , unsigned int MATXY>
SimpleTMat< TM, MATXY, MATXY,
unsigned int > 
ExpSym (const SimpleTMat< TM, MATXY, MATXY, unsigned int > &mat)
 Matrix Exponent.
template<typename TM , unsigned int MATXY>
SimpleTMat< TM, MATXY, MATXY,
unsigned int > 
LogSym (const SimpleTMat< TM, MATXY, MATXY, unsigned int > &mat)
 Matrix Log.
template<typename TM , unsigned int MATXY>
SimpleTMat< TM, MATXY, MATXY,
unsigned int > 
SqrtND (const SimpleTMat< TM, MATXY, MATXY, unsigned int > &mat)
template<typename TM >
SimpleTMat< TM, 3, 3, unsigned
int > 
RotationDecomp (const SimpleTMat< TM, 3, 3, unsigned int > &mat)
 Decompose Rigid Rotations Transformation from Affine 3x3.
template<typename TM , int MATX, typename TS >
SimpleTMat< TM, MATX, MATX, TS > QRdecomp (SimpleTMat< TM, MATX, MATX, TS > &input, SimpleTMat< TM, MATX, MATX, TS > &Q)
 QR Decomposition.
template<typename TOUT , typename TIN1 , typename TIN2 >
void cross (SimpleBaseTVec< TOUT > &out, const SimpleBaseTVec< TIN1 > &v1, const SimpleBaseTVec< TIN2 > &v2)
template<typename TOUT , typename TIN1 , typename TIN2 >
void outer (SimpleVTMat< TOUT > &out, const SimpleVTVec< TIN1 > &v1, const SimpleVTVec< TIN2 > &v2)
template<typename T1 >
T1 VecMedian (SimpleVTVec< T1 > &vvec)
template<typename TOUT >
void gaussianKernel1D (SimpleBaseTVec< TOUT, unsigned int > &out, double sigma=0.0)
template<typename TOUT >
void legendreTVec (SimpleBaseTVec< TOUT > &out, int n)
 Fills a SimpleBaseTVec with the n-th degree Legendre polynomial.
template<typename TOUT >
void discreteCosineTVec (SimpleBaseTVec< TOUT > &out, int n)
 Fills a SimpleBaseTVec with the n-th discrete Cosine Kernel.
template<typename TOUT >
void tchebichefMomentsTVec (SimpleBaseTVec< TOUT > &out, int n)
 Fills a SimpleBaseTVec with the n-th degree Tchebichef Moments (another discrete basis function)
BasicHeaderCreateHeaderFromFile (char *name)
 Create a Basic Header From a File (without Loading Voxel data)
template<typename T >
void MakeSphereVox (SimpleTField< T > &f, T outVal, T inVal, SimpleTVec< int, 3 > cen, float radiusMM, bool addShape=(1==0), int frame=0)
 Make A Sphere at given voxel coordinates.
template<typename T >
void MakePacManVox (SimpleTField< T > &f, T outVal, T inVal, SimpleTVec< int, 3 > cen, float radiusMM, float radiusMM2, float ReqAng=20, int frame=0)
template<typename T >
void MakeCubeVox (SimpleTField< T > &f, T outVal, T inVal, SimpleTVec< int, 3 > cen, float sideMM, int addShape=(1==0), int frame=0)
 Make aa Cube at a given location and with a given size.
void SimpleBaseTVec< float, unsigned int >::Null ()
 Set All Elements to Zero.
void SimpleBaseTVec< float, unsigned long int >::Null ()
 Set All Elements to Zero.

Variables

const char SimpleFileNames_versionID [] = "$Id: SimpleFileNames.h,v 1.1 2011/06/19 02:05:38 bicg Exp $"
const char SimpleMathsFunc_versionID [] = "$Id: SimpleMathsFunc.h,v 1.11 2011/10/17 16:08:20 cs Exp $"
const char SimpleVectorFunc_versionID [] = "$Id: SimpleVectorFunc.h,v 1.10 2011/06/19 02:30:09 bicg Exp $"
static const char BasicHeader::_versionID [] = "$Id: BasicHeader.h,v 1.40 2011/12/07 21:56:09 bicg Exp $"
static const char SimpleBaseTVec< float, unsigned long int >::_versionID [] = "$Id: SimpleBaseTVec.h,v 1.55 2011/11/21 20:48:11 bicg Exp $"
static const char SimpleBaseTVec< float, unsigned int >::_versionID [] = "$Id: SimpleBaseTVec.h,v 1.55 2011/11/21 20:48:11 bicg Exp $"
static const char SimpleBaseTVec< int, unsigned int >::_versionID [] = "$Id: SimpleBaseTVec.h,v 1.55 2011/11/21 20:48:11 bicg Exp $"
static FILE * SimpleGlobalLog::_fplog
static int SimpleGlobalLog::_noLog
static int SimpleGlobalLog::_numLog
static const char LinTransParam< float >::_versionID [] = "$Id: SimpleLinTrans.h,v 1.36 2011/11/02 21:03:35 mads Exp $"
static const char SimpleNumericArrayIO::_versionID [] = "$Id: SimpleNumericArrayIO.h,v 1.8 2010/05/07 18:31:46 cs Exp $"
static const char SimpleVTVec< float, unsigned long int >::_versionID [] = "$Id: SimpleVTVec.h,v 1.36 2011/10/20 18:19:07 bicg Exp $"

Detailed Description

Functions for File Name Manipulation.

Functions to Create shapes in SimpleTFields.

Functions for Simple Indexed Data Manpilations.

##################################################################### A Collection of Functions working on Matrices

KeyValue Pair Functions for extracting values from command line arguments

Author:
Colin Studholme,1996-
Id:
KeyVal.h,v 1.4 2010/02/08 20:38:00 bicg Exp

MaskTools.h Colin Studholme, 1995-2007

Functions To Operate on a Volume Mask

Mask is templated needs BasicHeader Properties + DataPtr

Mask is specified by integer threshold in image volume

Author:
Colin Studholme 1996-
Id:
MaskTools.h,v 1.6 2010/05/12 22:43:09 cs Exp cs

Older Functions to operate on SimpleTFields Better to use Built in Functions in SimpleTField!

Author:
Kio Kim 1996-
Id:
SimpleFieldFunc.h,v 1.21 2012/02/14 19:25:20 kio Exp
Author:
Colin Studholme 1997-
Id:
SimpleFileNames.h,v 1.1 2011/06/19 02:05:38 bicg Exp
Author:
Colin Studholme 1997-2008
Id:
SimpleIndexSort.h,v 1.5 2011/06/19 02:01:37 bicg Exp

##################################################################### A Collection of Maths Functions

Many From Numerical Recipies

Author:
Colin Studholme 1999-
Id:
SimpleMathsFunc.h,v 1.11 2011/10/17 16:08:20 cs Exp

##################################################################### A Collection of Functions working on Matrices

Many From Numerical Recipies or calling lapack

Author:
Colin Studholme, Kio Kim, Mads Fogtmann 1999-
Id:
SimpleMatrixFunc.h,v 1.27 2012/01/22 08:55:50 mads Exp

##################################################################### A Collection of Maths Functions for Matrices

Author:
Kio Kim
Id:
SimpleVectorFunc.h,v 1.10 2011/06/19 02:30:09 bicg Exp
Author:
Colin Studholme 2001-
Id:
SimpleVoxShapes.h,v 1.7 2010/05/03 23:48:52 cs Exp

Function Documentation

template<typename T >
void MakePacManVox ( SimpleTField< T > &  f,
outVal,
inVal,
SimpleTVec< int, 3 >  cen,
float  radiusMM,
float  radiusMM2,
float  ReqAng = 20,
int  frame = 0 
)

---------- Create a 3D PacMan Mouth Open by a Given Angle

void SimpleBaseTVec< float, unsigned long int >::Null ( ) [inline]

Set All Elements to Zero.

void SimpleBaseTVec< float, unsigned int >::Null ( ) [inline]

Set All Elements to Zero.

 All Classes Functions Variables Typedefs