33#ifndef VIP_TIVOLI_VOLUME_H
34#define VIP_TIVOLI_VOLUME_H
44#define IMAGE_MAXSIZE 4096
45#define BORDER_MAXWIDTH 16
46#define NAME_MAXLEN 1024U
65#define DECL_VOLUME(aVolumePtr) Volume *aVolumePtr = NULL
72#define MEMORYMAP_THRESHOLD 10
333#define getSize3 getSize
405#define getVoxelSize3 getVoxelSize
500#define setSize3 setSize
574#define setVoxelSize3 setVoxelSize
975 const char *filename,
985 const char *filename,
1002 const char *filename,
1014 const char *filename
1024 const char *filename
1037 const char *filename
1048 const char *filename
1064#define declareVolumeStructure3 declareVolumeStructure
1173 const char *filename,
1199 Volume *volumeDestination,
1200 int sliceDestination
int testEqualType(Volume *volume1, Volume *volume2)
long offsetFirstPoint(Volume *volume)
FLOAT_t * data_VFLOAT(Volume *volume)
void printfError(char *s)
Volume * declareVolumeStructure(int xSize, int ySize, int zSize, float xVoxelSize, float yVoxelSize, float zVoxelSize, int type, const char *name, int borderWidth)
DOUBLE_t * data_VDOUBLE(Volume *volume)
Volume * axial2sagittal(Volume *volume)
S8BIT_t * data_S8BIT(Volume *volume)
void setSizex(Volume *volume, int nx)
U8BIT_t * data_U8BIT(Volume *volume)
int testFilled(Volume *volume)
S32BIT_t * data_S32BIT(Volume *volume)
char * stateName(int state)
Volume * declareVolumeStructure4(int xSize, int ySize, int zSize, int tSize, float xVoxelSize, float yVoxelSize, float zVoxelSize, float tVoxelSize, int type, const char *name, int borderWidth)
int testTypeN(Volume *volume, int n,...)
long offsetVolume(Volume *volume)
void addBorder(Volume *volume)
void setSizez(Volume *volume, int nz)
int verifyRoi(Roi *roi, Volume *volume)
long offset_forANYtype_BetweenPoint(Volume *volume)
void setSizet(Volume *volume, int nt)
void copySlice(Volume *volumeSource, int sliceSource, Volume *volumeDestination, int sliceDestination)
void getVoxelSize(Volume *volume, float *voxelSizeX, float *voxelSizeY, float *voxelSizeZ)
int testEqualSize(Volume *volume1, Volume *volume2)
int verifyAll(Volume *volume)
void setSize(Volume *volume, int nx, int ny, int nz)
int testLevelInType(double level, int type)
Volume * duplicateVolumeStructure(Volume *volume, const char *name)
void getSize4(Volume *volume, int *sizeX, int *sizeY, int *sizeZ, int *sizeT)
int borderWidthOf(Volume *volume)
Volume * extractRoi(Volume *volume, Roi *roi)
void writeVolumeDim(Volume *volume, const char *filename)
Volume * createVolume4(int xSize, int ySize, int zSize, int tSize, float xVoxelSize, float yVoxelSize, float zVoxelSize, float tVoxelSize, int type, const char *name, int borderWidth)
void freeVolumeData(Volume *volume)
void freeVolume(Volume *volume)
void getSize2(Volume *volume, int *sizeX, int *sizeY)
void setVoxelSize(Volume *volume, float dx, float dy, float dz)
int testSlice(Volume *volume, int slice)
void setSizey(Volume *volume, int ny)
Volume * sagittal2axial(Volume *volume)
void getVoxelSize2(Volume *volume, float *voxelSizeX, float *voxelSizeY)
void transferVolumeData(Volume *volumeR, Volume *volumeW)
void setVolumeLevel(Volume *volume, double level)
void setVoxelSize4(Volume *volume, float dx, float dy, float dz, float dt)
void setType(Volume *volume, int type)
void getVoxelSize4(Volume *volume, float *voxelSizeX, float *voxelSizeY, float *voxelSizeZ, float *voxelSizeT)
void allocateVolumeData(Volume *volume)
int testExistN(int n,...)
Volume * coronal2axial(Volume *volume)
int testType(Volume *volume, int type)
int sizezOf(Volume *volume)
char * typeName(int type)
void setSize4(Volume *volume, int nx, int ny, int nz, int nt)
long offsetPointBetweenLine(Volume *volume)
void setBorderLevel(Volume *volume, double level)
void writeVolume(Volume *volume, const char *filename)
void writeVolumeSlices(Volume *volume, int firstSlice, int nSlices, const char *filename)
void setSize2(Volume *volume, int nx, int ny)
U32BIT_t * data_U32BIT(Volume *volume)
int testImageSlice(Volume *volume, int slice)
long offsetSlice(Volume *volume)
S16BIT_t * data_S16BIT(Volume *volume)
int sizeyOf(Volume *volume)
Volume * extractSlice(Volume *volume, int slice)
int testEqual2DSize(Volume *volume1, Volume *volume2)
Volume * copyVolume(Volume *volume, const char *name)
Volume * readVolumeDim(const char *filename, Roi *roi)
void writeVolumeSlice(Volume *volume, int slice, const char *filename)
long int * offsetBox(Volume *volume, int connexity)
int sizeofType(Volume *volume)
void getSize(Volume *volume, int *sizeX, int *sizeY, int *sizeZ)
U16BIT_t * data_U16BIT(Volume *volume)
void getMinMax(Volume *volume, double *minVal, double *maxVal)
int readVolumeDim_OLD(const char *filename, int *nx, int *ny, int *nz, int *type, float *dx, float *dy, float *dz)
Volume * axial2coronal(Volume *volume)
Volume * readVolume(const char *filename, int borderWidth)
int sizexOf(Volume *volume)
long offsetImage(Volume *volume)
void setImageLevel(Volume *volume, double level)
Volume * createVolume(int xSize, int ySize, int zSize, float xVoxelSize, float yVoxelSize, float zVoxelSize, int type, const char *name, int borderWidth)
void setVoxelSize2(Volume *volume, float dx, float dy)
Volume * vol3DtoVol2D(Volume *volume, int first, int step, int number, int width)
int testExist(Volume *volume)
void setBorderWidth(Volume *volume, int borderWidth)
long offsetLineBetweenSlice(Volume *volume)
void appendVolume(const char *filename, Volume *volume)
int testEqualBorderWidth(Volume *volume1, Volume *volume2)
void printfWarning(char *s)
int sizetOf(Volume *volume)
int typeOf(Volume *volume)
long offsetLine(Volume *volume)
ANY_t * data_ANY(Volume *volume)