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

Main collection of FSL i/o routines, written by Mark Jenkinson, FMRIB. More...

#include "fslio.h"
#include "assert.h"

Macros

#define FSLIOERR(x)
 

Functions

char * FslFileTypeString (int filetype)
 Return a string describing the format of the dataset.
 
int FslIsValidFileType (int filetype)
 
int FslBaseFileType (int filetype)
 
int FslGetFileType2 (const FSLIO *fslio, int quiet)
 
int FslGetFileType (const FSLIO *fslio)
 
void FslSetFileType (FSLIO *fslio, int filetype)
 
int FslIsSingleFileType (int filetype)
 
int FslIsCompressedFileType (int filetype)
 
int FslGetWriteMode (const FSLIO *fslio)
 
void FslSetWriteMode (FSLIO *fslio, int mode)
 
int FslGetEnvOutputType (void)
 
int FslFileType (const char *fname)
 
int FslGetReadFileType (const FSLIO *fslio)
 return the best estimate of the true file type
 
int FslFileExists (const char *filename)
 
char * FslMakeBaseName (const char *fname)
 
void FslGetHdrImgNames (const char *filename, const FSLIO *fslio, char **hdrname, char **imgname)
 
FSLIOFslInit (void)
 allocate space for the FSLIO struct and set some sensible defaults
 
void FslSetInit (FSLIO *fslio)
 
void FslInit4Write (FSLIO *fslio, const char *filename, int ft)
 
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 FslCloneHeader (FSLIO *dest, const FSLIO *src)
 
int fsl_fileexists (const char *fname)
 
int FslCheckForMultipleFileNames (const char *filename)
 
int check_for_multiple_filenames (const char *filename)
 
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.
 
void * FslReadAllVolumes (FSLIO *fslio, char *filename)
 Read the header and all data into the FSLIO structure.
 
size_t FslReadVolumes (FSLIO *fslio, void *buffer, size_t nvols)
 Read the first nvols Volumes from a 4D dataset.
 
void FslWriteAllVolumes (FSLIO *fslio, const void *buffer)
 Writes all data from buffer (using size info from fslio) to file.
 
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.
 
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.
 
size_t FslReadCplxVolumes (FSLIO *fslio, void *buffer, size_t nvols, char mode)
 
size_t FslWriteCplxVolumes (FSLIO *fslio, void *buffer, size_t nvols, char mode)
 
int FslSeekVolume (FSLIO *fslio, size_t vols)
 
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 FslSetVoxUnits (FSLIO *fslio, const char *units)
 
void FslGetVoxUnits (FSLIO *fslio, char *units)
 
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)
 
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)
 
void FslSetStdXform (FSLIO *fslio, short sform_code, mat44 stdmat)
 
short FslGetStdXform (FSLIO *fslio, mat44 *stdmat)
 
void FslSetRigidXform (FSLIO *fslio, short qform_code, mat44 rigidmat)
 
short FslGetRigidXform (FSLIO *fslio, mat44 *rigidmat)
 
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)
 
void FslSetIntensityScaling (FSLIO *fslio, float slope, float intercept)
 
int FslGetIntensityScaling (FSLIO *fslio, float *slope, float *intercept)
 
mat33 mat44_to_mat33 (mat44 x)
 
int FslGetLeftRightOrder (FSLIO *fslio)
 
void FslSetAnalyzeSform (FSLIO *fslio, const short *orig, float dx, float dy, float dz)
 
void FslGetAnalyzeOrigin (FSLIO *fslio, short orig[5])
 
int FslClose (FSLIO *fslio)
 Write header and image data if this dataset was open for writing. Close the dataset header and data files.
 
void AvwSwapHeader (struct dsr *avw)
 
int FslReadRawHeader (void *buffer, const char *filename)
 
void FslSetOverrideOutputType (int type)
 
int FslGetOverrideOutputType (void)
 
void FslSetIgnoreMFQ (int flag)
 
int FslGetIgnoreMFQ (void)
 
FSLIOFslReadHeader (char *fname)
 Reads nifti/anz header, no data is read.
 
double *** FslGetVolumeAsScaledDouble (FSLIO *fslio, int vol)
 Return volume #vol (0-based) as a 3D array of scaled doubles.
 
double **** FslGetBufferAsScaledDouble (FSLIO *fslio)
 Return the fslio data buffer of a 1-4D dataset as a 4D 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 *** d3matrix (int zh, int yh, int xh)
 allocate a 3D 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
 

Detailed Description

Main collection of FSL i/o routines, written by Mark Jenkinson, FMRIB.

  • updates by Rick Reynolds, SSCC, NIMH

Macro Definition Documentation

◆ FSLIOERR

#define FSLIOERR ( x)
Value:
{ fprintf(stderr,"Error:: %s\n",(x)); fflush(stderr); exit(EXIT_FAILURE); }

Function Documentation

◆ FslGetReadFileType()

int FslGetReadFileType ( const FSLIO * fslio)

return the best estimate of the true file type

This function is used to return the best estimate of the true file type once a simple open has occurred - for now it is used after a nifti open call is made

Parameters
fsliodata structure
Returns
FSL_TYPE filetype code
See also
FSL_TYPE