CiftiLib
A C++ library for CIFTI-2 and CIFTI-1 files
cifti::CiftiFile Class Reference

class for reading and writing cifti files More...

#include <CiftiFile.h>

Classes

class  ReadImplInterface
 
class  WriteImplInterface
 

Public Types

enum  ENDIAN { ANY , NATIVE , LITTLE , BIG }
 

Public Member Functions

 CiftiFile (const AString &fileName)
 starts on-disk reading
 
void openFile (const AString &fileName)
 starts on-disk reading
 
void setWritingFile (const AString &fileName, const CiftiVersion &writingVersion=CiftiVersion(), const ENDIAN &endian=NATIVE)
 starts on-disk writing
 
void writeFile (const AString &fileName, const CiftiVersion &writingVersion=CiftiVersion(), const ENDIAN &endian=ANY)
 does nothing if filename, version, and effective endianness match file currently open, otherwise writes complete file
 
void close ()
 closes the underlying file to flush it, so that exceptions can be thrown
 
void convertToInMemory ()
 reads file into memory, closes file
 
const CiftiXMLgetCiftiXML () const
 
bool isInMemory () const
 
void getRow (float *dataOut, const std::vector< int64_t > &indexSelect, const bool &tolerateShortRead=false) const
 the tolerateShortRead parameter is useful for on-disk writing when it is easiest to do RMW multiple times on a new file
 
const std::vector< int64_t > & getDimensions () const
 
MultiDimIterator< int64_t > getIteratorOverRows () const
 convenience function for iterating over arbitrary numbers of dimensions
 
void getColumn (float *dataOut, const int64_t &index) const
 for 2D only, will be slow if on disk!
 
void setCiftiXML (const CiftiXML &xml, const bool useOldMetadata=true)
 
void setRow (const float *dataIn, const std::vector< int64_t > &indexSelect)
 
void setColumn (const float *dataIn, const int64_t &index)
 for 2D only, will be slow if on disk!
 
void getRow (float *dataOut, const int64_t &index, const bool &tolerateShortRead=false) const
 for 2D only, if you don't want to pass a vector for indexing
 
void setRow (const float *dataIn, const int64_t &index)
 for 2D only, if you don't want to pass a vector for indexing
 
void setWritingDataTypeNoScaling (const int16_t &type=NIFTI_TYPE_FLOAT32)
 data type and scaling options - should be set before setRow, etc, to avoid rewriting of file
 
void setWritingDataTypeAndScaling (const int16_t &type, const double &minval, const double &maxval)
 

Detailed Description

class for reading and writing cifti files


The documentation for this class was generated from the following files: