File: via.h

package info (click to toggle)
via 1.6.0-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,480 kB
  • ctags: 2,266
  • sloc: ansic: 30,757; makefile: 101; sh: 46
file content (132 lines) | stat: -rwxr-xr-x 5,790 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include "viadata.h"

/* Utilities  */
extern VFloat VReadPixel(VImage,int,int,int); 
extern void   VWritePixel(VImage,int,int,int,VFloat); 
extern VFloat VGetPixelValue (VImage,int); 
extern void   VSetPixelValue (VImage,int,VFloat);
extern void   VWriteNode(VGraph,VNode,float,float,float,float);
extern void   VReadNode(VGraph,VNode,float *,float *,float *,float *);
extern void   VQuaternionsRotation(float *,float **);
extern void   VRotationMatrix(double,double,double,double [3][3]);
extern void   VPoint_hpsort(unsigned long,VPoint[]);

extern VImage VContrast(VImage,VImage,VRepnKind,VFloat,VFloat);
extern VImage VContrastUByte(VImage,VImage,VFloat,VFloat);
extern VImage VContrastShort(VImage,VImage,VFloat,VFloat);
extern VImage VContrastShortUByte(VImage, int, int, float, float);
extern VImage VMapImageRange(VImage,VImage,VRepnKind);
extern VImage VMaskRange(VImage,VImage,VFloat,VFloat);
extern VImage VMask(VImage,VImage,VImage);

/* 3D binary morphology */
extern VImage VDilateImage3d (VImage, VImage,VoxelList,int);
extern VImage VErodeImage3d(VImage,VImage,VoxelList,int);
extern VImage VGenSphere3d(VShort);
extern VImage VGenSphere2d(VShort);
extern VoxelList VConvertSE3d(VImage,int *);

/* 3D greylevel morphology  */
extern VImage VGreyDilation3d(VImage,VImage,VImage);
extern VImage VGreyErosion3d(VImage,VImage,VImage);

/* morphological operators by thresholding distance transform */
extern VImage VDTClose(VImage,VImage,VDouble);
extern VImage VDTOpen(VImage,VImage,VDouble);
extern VImage VDTErode(VImage,VImage,VDouble);
extern VImage VDTDilate(VImage,VImage,VDouble);

/* distance transforms */
extern VImage VEuclideanDist3d(VImage,VImage,VRepnKind);
extern VImage VChamferDist3d(VImage,VImage,VRepnKind);
extern VImage VChamferDist2d(VImage,VImage,VBand);
extern VImage VCDT3d (VImage,VImage,VLong,VLong,VLong,VRepnKind);

/* connected components */
extern VImage VLabelImage2d(VImage,VImage,int,VRepnKind,int *);
extern VImage VLabelImage3d(VImage,VImage,int,VRepnKind,int *);
extern VImage VSelectBig (VImage,VImage);
extern VImage VDeleteSmall(VImage,VImage,int);


/* topological operators */
extern VImage VBorderImage3d (VImage,VImage);
extern int    VBorderPoint(VImage,int,int,int);
extern int    VSimplePoint(VImage,int,int,int,int);
extern VImage VTopoclass(VImage,VImage);
extern int    VGenusLee (VImage,VShort);
extern VImage VThin3d(VImage,VImage,int);
extern VImage VSkel3d(VImage,VImage);
extern VImage VSkel2d(VImage,VImage);


/* resampling, geometric transformations */
extern VImage VTriLinearSample3d(VImage,VImage,VImage,float,float,float,int,int,int);
extern VImage VNNSample3d(VImage,VImage,VImage,float,float,float,int,int,int);
extern VImage VCubicSplineSample3d(VImage,VImage,VImage,float,float,float,int,int,int);
extern VImage VTriLinearScale3d (VImage,VImage,int,int,int,float[3],float[3]);
extern VImage VNNScale3d (VImage,VImage,int,int,int,float[3],float[3]);
extern VImage VCubicSplineScale3d (VImage,VImage,int,int,int,float[3],float[3]);
extern VImage VBicubicScale2d(VImage,VImage,VFloat);
extern VImage VBiLinearScale2d(VImage,VImage,int,int,float[2],float[2]);
extern VImage VRotateImage2d(VImage,VImage,VBand,double);
extern VImage VRotateImage3d(VImage,VImage,VFloat,VShort);
extern VImage VShearImageX (VImage src, VImage dest, VBand band, double shear);
extern VImage VShearImageY (VImage src, VImage dest, VBand band, double shear);


/* filters */
extern VImage VAniso2d(VImage,VImage,VShort,VShort,VFloat,VFloat);
extern VImage VAniso3d(VImage,VImage,VShort,VShort,VFloat,VFloat);
extern VImage VConvolve3d(VImage,VImage,VImage);
extern VImage VConvolve2d(VImage,VImage,VImage);
extern VImage VConvolveCol(VImage,VImage,VImage);
extern VImage VConvolveRow(VImage,VImage,VImage);
extern VImage VConvolveBand(VImage,VImage,VImage);
extern VImage VLeeImage(VImage,VImage,VLong,VDouble,VLong,VLong);
extern VImage VSmoothImage3d(VImage,VImage,VLong,VLong);
extern VImage VFilterGauss2d(VImage,VImage,double);
extern VImage VFilterGauss3d(VImage,VImage,double);
extern VImage VFilterBox3d(VImage,VImage,int);
extern VImage VMedianImage3d (VImage,VImage,int,VBoolean);
extern VImage VMedianImage2d (VImage,VImage,int,VBoolean);



/* segmentation, clustering, binarization */
extern VImage VBinarizeImage(VImage,VImage,VDouble,VDouble);
extern VImage VIsodataImage3d(VImage,VImage,VLong,VLong);

/* edge detection and curvature */
extern void   VCanny3d(VImage,int,VImage *,VImage *,VImage *);
extern void   VCanny2d(VImage,int,VImage *,VImage *);
extern void   VDeriche3d(VImage,VFloat,VImage *,VImage *,VImage *);
extern void   VDeriche2d(VImage,VFloat,VImage *,VImage *);
extern VImage VMagnitude3d(VImage,VImage,VImage,VImage);
extern VImage VMagnitude2d(VImage,VImage,VImage);
extern VImage VNonmaxSuppression(VImage,VImage,VImage,VImage);
extern VImage VCurvature(VImage,VImage,VFloat,VLong,VBoolean);

/* operations on volumes */
extern Volumes VImage2Volumes(VImage src);
extern VImage  Volumes2Image(Volumes,VRepnKind repn);
extern VImage  Volume2Bin(Volume);
extern Volume  VBin2Volume(VImage);
extern double  VolumeRadius(Volume,double *);
extern VBoolean VolumeInside(Volume,short,short,short);
extern VTrack  VolumeGetTrack(Volume,short,short,short);
extern Volume  VCopyVolume(Volume);


/* shape features: moments,center of gravity,size */
extern void   VolumeCentroid (Volume,double *);
extern double VolumeMoment (Volume,double *,int,int,int);
extern void   VBinCentroid (VImage, double *);
extern double VBinMoment (VImage,double *,int,int,int);
extern long   VolumeSize(Volume);
extern long   VBinSize(VImage);

/* operations on graphs */
extern VGraph VImage2Graph (VImage,VGraph,VDouble,VDouble,VBoolean,VBoolean);
extern VGraph VGraphPrune(VGraph,int);
extern void   VICP(VGraph,VGraph,int);