nifti1_io
Loading...
Searching...
No Matches
fslio.h File Reference

Data structures for using the fslio API. Written by Mark Jenkinson, FMRIB. More...

#include <stdio.h>
#include <nifti1_io.h>
#include <znzlib.h>
#include "dbh.h"

Go to the source code of this file.

Classes

struct  FSLIO
 High level data structure for open datasets in the fslio API. More...
 

Macros

#define FSL_TYPE_ANALYZE   0
 
#define FSL_TYPE_NIFTI   1
 
#define FSL_TYPE_NIFTI_PAIR   2
 
#define FSL_TYPE_MINC   4
 
#define FSL_TYPE_ANALYZE_GZ   100
 
#define FSL_TYPE_NIFTI_GZ   101
 
#define FSL_TYPE_NIFTI_PAIR_GZ   102
 
#define FSL_TYPE_MINC_GZ   104
 
#define FSL_RADIOLOGICAL   -1
 
#define FSL_NEUROLOGICAL   1
 

Typedefs

typedef unsigned char THIS_UINT8
 
typedef char THIS_INT8
 
typedef unsigned short THIS_UINT16
 
typedef short THIS_INT16
 
typedef unsigned int THIS_UINT32
 
typedef int THIS_INT32
 
typedef unsigned long THIS_UINT64
 
typedef long THIS_INT64
 
typedef float THIS_FLOAT32
 
typedef double THIS_FLOAT64
 

Functions

FSLIOFslOpen (const char *filename, const char *opts)
 Opens a file for either reading or writing.
 
FSLIOFslXOpen (const char *filename, const char *opts, int filetype)
 Opens a file for either reading or writing.
 
int FslSeekVolume (FSLIO *fslio, size_t vols)
 
int FslClose (FSLIO *fslio)
 Write header and image data if this dataset was open for writing. Close the dataset header and data files.
 
void * FslReadAllVolumes (FSLIO *fslio, char *filename)
 Read the header and all data into the FSLIO structure.
 
void FslWriteAllVolumes (FSLIO *fslio, const void *buffer)
 Writes all data from buffer (using size info from fslio) to file.
 
size_t FslReadVolumes (FSLIO *fslio, void *buffer, size_t nvols)
 Read the first nvols Volumes from a 4D dataset.
 
size_t FslWriteVolumes (FSLIO *fslio, const void *buffer, size_t nvols)
 Write the first nvols volumes in buffer to disk.

 
void FslWriteHeader (FSLIO *fslio)
 Writes nifti/anz header and opens img file ready for writing.
 
int FslFileExists (const char *filename)
 
char * FslMakeBaseName (const char *fname)
 
int FslCheckForMultipleFileNames (const char *filename)
 
int FslGetEnvOutputType (void)
 
void FslSetIgnoreMFQ (int flag)
 
int FslGetIgnoreMFQ (void)
 
void FslSetOverrideOutputType (int type)
 
int FslGetOverrideOutputType (void)
 
int FslGetFileType (const FSLIO *fslio)
 
void FslSetFileType (FSLIO *fslio, int filetype)
 
int FslIsSingleFileType (int filetype)
 
int FslIsCompressedFileType (int filetype)
 
int FslBaseFileType (int filetype)
 
char * FslFileTypeString (int filetype)
 Return a string describing the format of the dataset.
 
int FslGetWriteMode (const FSLIO *fslio)
 
void FslSetWriteMode (FSLIO *fslio, int mode)
 
void AvwSwapHeader (struct dsr *avw)
 
int FslReadRawHeader (void *buffer, const char *filename)
 
FSLIOFslInit (void)
 allocate space for the FSLIO struct and set some sensible defaults
 
void FslInitHeader (FSLIO *fslio, short t, size_t x, size_t y, size_t z, size_t v, float vx, float vy, float vz, float tr, size_t dim, const char *units)
 
void FslSetInit (FSLIO *fslio)
 
void FslCloneHeader (FSLIO *dest, const FSLIO *src)
 
size_t FslGetVolSize (FSLIO *fslio)
 
void FslSetDim (FSLIO *fslio, short x, short y, short z, short v)
 
void FslGetDim (FSLIO *fslio, short *x, short *y, short *z, short *v)
 
void FslSetDimensionality (FSLIO *fslio, size_t dim)
 
void FslGetDimensionality (FSLIO *fslio, size_t *dim)
 
void FslSetVoxDim (FSLIO *fslio, float x, float y, float z, float tr)
 
void FslGetVoxDim (FSLIO *fslio, float *x, float *y, float *z, float *tr)
 
void FslGetCalMinMax (FSLIO *fslio, float *min, float *max)
 
void FslSetCalMinMax (FSLIO *fslio, float min, float max)
 
void FslGetAuxFile (FSLIO *fslio, char *aux_file)
 
void FslSetAuxFile (FSLIO *fslio, const char *aux_file)
 
void FslSetTimeUnits (FSLIO *fslio, const char *units)
 
void FslGetTimeUnits (FSLIO *fslio, char *units)
 
void FslSetDataType (FSLIO *fslio, short t)
 
size_t FslGetDataType (FSLIO *fslio, short *t)
 
int FslGetIntensityScaling (FSLIO *fslio, float *slope, float *intercept)
 
void FslSetIntent (FSLIO *fslio, short intent_code, float p1, float p2, float p3)
 
short FslGetIntent (FSLIO *fslio, short *intent_code, float *p1, float *p2, float *p3)
 
short FslGetStdXform (FSLIO *fslio, mat44 *stdmat)
 
void FslSetStdXform (FSLIO *fslio, short sform_code, mat44 stdmat)
 
void FslGetMMCoord (mat44 stdmat, float voxx, float voxy, float voxz, float *mmx, float *mmy, float *mmz)
 
void FslGetVoxCoord (mat44 stdmat, float mmx, float mmy, float mmz, float *voxx, float *voxy, float *voxz)
 
short FslGetRigidXform (FSLIO *fslio, mat44 *rigidmat)
 
void FslSetRigidXform (FSLIO *fslio, short qform_code, mat44 rigidmat)
 
int FslGetLeftRightOrder (FSLIO *fslio)
 
void FslSetAnalyzeSform (FSLIO *fslio, const short *orig, float dx, float dy, float dz)
 
void FslGetAnalyzeOrigin (FSLIO *fslio, short orig[5])
 
size_t FslReadSliceSeries (FSLIO *fslio, void *buffer, short slice, size_t nvols)
 Read one slice from each of the first nvols volumes in the dataset, ie get an xyt buffer.
 
size_t FslReadRowSeries (FSLIO *fslio, void *buffer, short row, short slice, size_t nvols)
 Read one row from one slice for first nvols volumes in dataset; ie get an xt buffer.
 
size_t FslReadTimeSeries (FSLIO *fslio, void *buffer, short xVox, short yVox, short zVox, size_t nvols)
 Read one voxel (xyz location) from first nvols volumes in dataset; ie get a t dim buffer.
 
mat33 mat44_to_mat33 (mat44 x)
 
FSLIOFslReadHeader (char *fname)
 Reads nifti/anz header, no data is read.
 
double **** FslGetBufferAsScaledDouble (FSLIO *fslio)
 Return the fslio data buffer of a 1-4D dataset as a 4D array of scaled doubles.
 
double *** FslGetVolumeAsScaledDouble (FSLIO *fslio, int vol)
 Return volume #vol (0-based) as a 3D array of scaled doubles.
 
int convertBufferToScaledDouble (double *outbuf, void *inbuf, long len, float slope, float inter, int nifti_datatype)
 allocate a 4D buffer, use 1 contiguous buffer for the data
 
double **** d4matrix (int th, int zh, int yh, int xh)
 allocate a 4D buffer, use 1 contiguous buffer for the data
 
double *** d3matrix (int zh, int yh, int xh)
 allocate a 3D buffer, use 1 contiguous buffer for the data
 

Detailed Description

Data structures for using the fslio API. Written by Mark Jenkinson, FMRIB.