VIP: Volume Image Processing


moment.h File Reference
#include <math.h>
#include <float.h>
#include <vip/alloc.h>
#include <vip/vcomplex.h>
Include dependency graph for moment.h:

Go to the source code of this file.

Data Structures

struct  Moment
 
struct  Moment2D
 
struct  Legendre
 
struct  Legendre2D
 

Macros

#define M_SUB   -1
 
#define M_ADD   1
 
#define M_2D   2
 
#define M_3D   3
 
#define M_NORMAL   100
 
#define M_LEGENDRE   101
 
#define IsNull(a)
 
#define IsAlone(a)
 
#define Module(a, b, c)
 
#define Scalaire(a, b, c, d, e, f)
 

Functions

MomentVipCreateMoment (Volume *vol)
 
void VipFreeMoment (Moment *mom)
 
LegendreVipCreateLegendreMoment (Volume *vol)
 
void VipFreeLegendreMoment (Legendre *leg)
 
void VipMomentCopy (Moment *mom1, Moment *mom2)
 
void VipMomentCopy2D (Moment2D *mom1, Moment2D *mom2)
 
void VipLegendreMomentCopy (Legendre *leg1, Legendre *leg2)
 
void VipLegendreMomentCopy2D (Legendre2D *leg1, Legendre2D *leg2)
 
void VipAddOrSubPointToMoment (Moment *mom, double x, double y, double z, int dir)
 
int VipComputeInvariant (Moment *mom)
 
void VipGetComplexMoment (Moment *mom)
 
int VipComputeMomentInvariants (Moment *mom)
 
void VipComputeMoment (Volume *vol, Vip_U16BIT label, Moment *mom, int dir)
 
void VipComputeMomentM (Volume *vol, Vip_U16BIT label, Moment *mom, int dir, int mask)
 
MomentVipCreateAndComputeMoment (Volume *vol, Vip_U16BIT label, int dir)
 
int VipComputeMomentAndInvariant (Volume *vol, Vip_U16BIT label, Moment *mom, int dir)
 
int VipComputeMomentAndInvariantM (Volume *vol, Vip_U16BIT label, Moment *mom, int dir, int mask)
 
MomentVipCreateAndComputeMomentAndInvariant (Volume *vol, Vip_U16BIT label, int dir)
 
MomentVipCreateAndComputeMomentAndInvariantM (Volume *vol, Vip_U16BIT label, int dir, int mask)
 
int VipUpdateMomentAndInvariant (Moment *mom, int x, int y, int z, int dir)
 
int VipComputeLegendreMoment (Legendre *leg)
 
int VipComputeMomentAndLegendreMoment (Volume *vol, Vip_U16BIT label, Legendre *leg, int dir)
 
LegendreVipCreateAndComputeMomentAndLegendreMoment (Volume *vol, Vip_U16BIT label, int dir)
 
void VipPrintStreamMoment (FILE *stream, Moment *mom, char *filename)
 
void VipPrintStreamLegendreMoment (FILE *stream, Legendre *leg, char *filename)
 
void VipPrintStreamInvariantForPCA (FILE *stream, Moment *mom)
 
void VipPrintStreamInvariantForCovarianceMatrix (FILE *stream, Moment *mom)
 
int VipPrintMoment (Moment *mom, char *filename, char *resultfile)
 
int VipPrintLegendreMoment (Legendre *leg, char *filename, char *resultfile)
 
Moment2DVipCreateMoment2D (Volume *vol)
 
void VipFreeMoment2D (Moment2D *mom)
 
Legendre2DVipCreateLegendreMoment2D (Volume *vol)
 
void VipFreeLegendreMoment2D (Legendre2D *leg)
 
void VipAddOrSubPointToMoment2D (Moment2D *mom, double x, double y, int dir)
 
int VipComputeInvariant2D (Moment2D *mom)
 
void VipComputeMoment2D (Volume *vol, Vip_U16BIT label, Moment2D *mom, int dir)
 
Moment2DVipCreateAndComputeMoment2D (Volume *vol, Vip_U16BIT label, int dir)
 
int VipComputeMomentAndInvariant2D (Volume *vol, Vip_U16BIT label, Moment2D *mom, int dir)
 
Moment2DVipCreateAndComputeMomentAndInvariant2D (Volume *vol, Vip_U16BIT label, int dir)
 
int VipUpdateMomentAndInvariant2D (Moment2D *mom, int x, int y, int dir)
 
int VipComputeLegendreMoment2D (Legendre2D *leg)
 
int VipComputeMomentAndLegendreMoment2D (Volume *vol, Vip_U16BIT label, Legendre2D *leg, int dir)
 
Legendre2DVipCreateAndComputeMomentAndLegendreMoment2D (Volume *vol, Vip_U16BIT label, int dir)
 
void VipPrintStreamMoment2D (FILE *stream, Moment2D *mom, char *filename)
 
void VipPrintStreamLegendreMoment2D (FILE *stream, Legendre2D *leg, char *filename)
 
void VipPrintStreamInvariantForPCA2D (FILE *stream, Moment2D *mom)
 
void VipPrintStreamInvariantForCovarianceMatrix2D (FILE *stream, Moment2D *mom)
 
int VipPrintMoment2D (Moment2D *mom, char *filename, char *resultfile)
 
int VipPrintLegendreMoment2D (Legendre2D *leg, char *filename, char *resultfile)
 

Macro Definition Documentation

◆ IsAlone

#define IsAlone ( a)
Value:
(double)((a-1) != 0.0)

Definition at line 44 of file moment.h.

◆ IsNull

#define IsNull ( a)
Value:
((a)+(double)((a) == 0.0))

Definition at line 43 of file moment.h.

◆ M_2D

#define M_2D   2

Definition at line 37 of file moment.h.

◆ M_3D

#define M_3D   3

Definition at line 38 of file moment.h.

◆ M_ADD

#define M_ADD   1

Definition at line 35 of file moment.h.

◆ M_LEGENDRE

#define M_LEGENDRE   101

Definition at line 41 of file moment.h.

◆ M_NORMAL

#define M_NORMAL   100

Definition at line 40 of file moment.h.

◆ M_SUB

#define M_SUB   -1

Definition at line 34 of file moment.h.

◆ Module

#define Module ( a,
b,
c )
Value:
(sqrt(Sq(a)+Sq(b)+Sq(c)))

Definition at line 46 of file moment.h.

◆ Scalaire

#define Scalaire ( a,
b,
c,
d,
e,
f )
Value:
((a)*(d)+(b)*(e)+(c)*(f))

Definition at line 47 of file moment.h.

Function Documentation

◆ VipAddOrSubPointToMoment()

void VipAddOrSubPointToMoment ( Moment * mom,
double x,
double y,
double z,
int dir )
extern

◆ VipAddOrSubPointToMoment2D()

void VipAddOrSubPointToMoment2D ( Moment2D * mom,
double x,
double y,
int dir )
extern

◆ VipComputeInvariant()

int VipComputeInvariant ( Moment * mom)
extern

◆ VipComputeInvariant2D()

int VipComputeInvariant2D ( Moment2D * mom)
extern

◆ VipComputeLegendreMoment()

int VipComputeLegendreMoment ( Legendre * leg)
extern

◆ VipComputeLegendreMoment2D()

int VipComputeLegendreMoment2D ( Legendre2D * leg)
extern

◆ VipComputeMoment()

void VipComputeMoment ( Volume * vol,
Vip_U16BIT label,
Moment * mom,
int dir )
extern

◆ VipComputeMoment2D()

void VipComputeMoment2D ( Volume * vol,
Vip_U16BIT label,
Moment2D * mom,
int dir )
extern

◆ VipComputeMomentAndInvariant()

int VipComputeMomentAndInvariant ( Volume * vol,
Vip_U16BIT label,
Moment * mom,
int dir )
extern

◆ VipComputeMomentAndInvariant2D()

int VipComputeMomentAndInvariant2D ( Volume * vol,
Vip_U16BIT label,
Moment2D * mom,
int dir )
extern

◆ VipComputeMomentAndInvariantM()

int VipComputeMomentAndInvariantM ( Volume * vol,
Vip_U16BIT label,
Moment * mom,
int dir,
int mask )
extern

◆ VipComputeMomentAndLegendreMoment()

int VipComputeMomentAndLegendreMoment ( Volume * vol,
Vip_U16BIT label,
Legendre * leg,
int dir )
extern

◆ VipComputeMomentAndLegendreMoment2D()

int VipComputeMomentAndLegendreMoment2D ( Volume * vol,
Vip_U16BIT label,
Legendre2D * leg,
int dir )
extern

◆ VipComputeMomentInvariants()

int VipComputeMomentInvariants ( Moment * mom)
extern

◆ VipComputeMomentM()

void VipComputeMomentM ( Volume * vol,
Vip_U16BIT label,
Moment * mom,
int dir,
int mask )
extern

◆ VipCreateAndComputeMoment()

Moment * VipCreateAndComputeMoment ( Volume * vol,
Vip_U16BIT label,
int dir )
extern

◆ VipCreateAndComputeMoment2D()

Moment2D * VipCreateAndComputeMoment2D ( Volume * vol,
Vip_U16BIT label,
int dir )
extern

◆ VipCreateAndComputeMomentAndInvariant()

Moment * VipCreateAndComputeMomentAndInvariant ( Volume * vol,
Vip_U16BIT label,
int dir )
extern

◆ VipCreateAndComputeMomentAndInvariant2D()

Moment2D * VipCreateAndComputeMomentAndInvariant2D ( Volume * vol,
Vip_U16BIT label,
int dir )
extern

◆ VipCreateAndComputeMomentAndInvariantM()

Moment * VipCreateAndComputeMomentAndInvariantM ( Volume * vol,
Vip_U16BIT label,
int dir,
int mask )
extern

◆ VipCreateAndComputeMomentAndLegendreMoment()

Legendre * VipCreateAndComputeMomentAndLegendreMoment ( Volume * vol,
Vip_U16BIT label,
int dir )
extern

◆ VipCreateAndComputeMomentAndLegendreMoment2D()

Legendre2D * VipCreateAndComputeMomentAndLegendreMoment2D ( Volume * vol,
Vip_U16BIT label,
int dir )
extern

◆ VipCreateLegendreMoment()

Legendre * VipCreateLegendreMoment ( Volume * vol)
extern

◆ VipCreateLegendreMoment2D()

Legendre2D * VipCreateLegendreMoment2D ( Volume * vol)
extern

◆ VipCreateMoment()

Moment * VipCreateMoment ( Volume * vol)
extern

◆ VipCreateMoment2D()

Moment2D * VipCreateMoment2D ( Volume * vol)
extern

◆ VipFreeLegendreMoment()

void VipFreeLegendreMoment ( Legendre * leg)
extern

◆ VipFreeLegendreMoment2D()

void VipFreeLegendreMoment2D ( Legendre2D * leg)
extern

◆ VipFreeMoment()

void VipFreeMoment ( Moment * mom)
extern

◆ VipFreeMoment2D()

void VipFreeMoment2D ( Moment2D * mom)
extern

◆ VipGetComplexMoment()

void VipGetComplexMoment ( Moment * mom)
extern

◆ VipLegendreMomentCopy()

void VipLegendreMomentCopy ( Legendre * leg1,
Legendre * leg2 )
extern

◆ VipLegendreMomentCopy2D()

void VipLegendreMomentCopy2D ( Legendre2D * leg1,
Legendre2D * leg2 )
extern

◆ VipMomentCopy()

void VipMomentCopy ( Moment * mom1,
Moment * mom2 )
extern

◆ VipMomentCopy2D()

void VipMomentCopy2D ( Moment2D * mom1,
Moment2D * mom2 )
extern

◆ VipPrintLegendreMoment()

int VipPrintLegendreMoment ( Legendre * leg,
char * filename,
char * resultfile )
extern

◆ VipPrintLegendreMoment2D()

int VipPrintLegendreMoment2D ( Legendre2D * leg,
char * filename,
char * resultfile )
extern

◆ VipPrintMoment()

int VipPrintMoment ( Moment * mom,
char * filename,
char * resultfile )
extern

◆ VipPrintMoment2D()

int VipPrintMoment2D ( Moment2D * mom,
char * filename,
char * resultfile )
extern

◆ VipPrintStreamInvariantForCovarianceMatrix()

void VipPrintStreamInvariantForCovarianceMatrix ( FILE * stream,
Moment * mom )
extern

◆ VipPrintStreamInvariantForCovarianceMatrix2D()

void VipPrintStreamInvariantForCovarianceMatrix2D ( FILE * stream,
Moment2D * mom )
extern

◆ VipPrintStreamInvariantForPCA()

void VipPrintStreamInvariantForPCA ( FILE * stream,
Moment * mom )
extern

◆ VipPrintStreamInvariantForPCA2D()

void VipPrintStreamInvariantForPCA2D ( FILE * stream,
Moment2D * mom )
extern

◆ VipPrintStreamLegendreMoment()

void VipPrintStreamLegendreMoment ( FILE * stream,
Legendre * leg,
char * filename )
extern

◆ VipPrintStreamLegendreMoment2D()

void VipPrintStreamLegendreMoment2D ( FILE * stream,
Legendre2D * leg,
char * filename )
extern

◆ VipPrintStreamMoment()

void VipPrintStreamMoment ( FILE * stream,
Moment * mom,
char * filename )
extern

◆ VipPrintStreamMoment2D()

void VipPrintStreamMoment2D ( FILE * stream,
Moment2D * mom,
char * filename )
extern

◆ VipUpdateMomentAndInvariant()

int VipUpdateMomentAndInvariant ( Moment * mom,
int x,
int y,
int z,
int dir )
extern

◆ VipUpdateMomentAndInvariant2D()

int VipUpdateMomentAndInvariant2D ( Moment2D * mom,
int x,
int y,
int dir )
extern